{"id":9530,"date":"2021-03-01T04:08:33","date_gmt":"2021-03-01T09:08:33","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/embedded-software\/?p=9530"},"modified":"2026-03-26T17:01:30","modified_gmt":"2026-03-26T21:01:30","slug":"article-about-using-malloc-in-embedded-applications","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/embedded-software\/2021\/03\/01\/article-about-using-malloc-in-embedded-applications\/","title":{"rendered":"Article about using malloc() in embedded applications"},"content":{"rendered":"\n<p>My latest article on <a href=\"http:\/\/embedded.com\" target=\"_blank\" rel=\"noreferrer noopener\">embedded.com<\/a> has been published <a href=\"https:\/\/www.embedded.com\/use-malloc-why-not\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. I am looking at why using dynamic memory in embedded applications may or may not be a good idea. Here are the details:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use malloc()? Why not?<\/h3>\n\n\n\n<p>A topic that I find particularly interesting, which is raised by many embedded software developers whom I meet, is dynamic memory allocation &#8211; grabbing chunks of memory as and when you need them. This seemingly simple and routine operation opens up a huge number of problems. These are not confined to embedded development &#8211; many desktop applications exhibit memory leaks that impact performance and can make system reboots common. However, I am concerned about the embedded development context.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My latest article on embedded.com has been published here. I am looking at why using dynamic memory in embedded applications&#8230;<\/p>\n","protected":false},"author":71677,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[7],"tags":[334,300,681],"industry":[],"product":[],"coauthors":[],"class_list":["post-9530","post","type-post","status-publish","format-standard","hentry","category-learning-resources","tag-dynamic-memory","tag-embedded-software","tag-malloc"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/9530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/users\/71677"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/comments?post=9530"}],"version-history":[{"count":2,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/9530\/revisions"}],"predecessor-version":[{"id":9532,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/9530\/revisions\/9532"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/media?parent=9530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/categories?post=9530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/tags?post=9530"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/industry?post=9530"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/product?post=9530"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/coauthors?post=9530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}