← index #17271PR #552
Related · medium · value 2.461
QUERY · ISSUE

cannot open source file "alloca.h" when trying to write a C module for MicroPython

openby marrowbusteropened 2025-05-09updated 2025-07-14
bugneeds-info

Port, board and/or hardware

rp2 port, Waveshare RP2040-PiZero

MicroPython version

MicroPython v1.25.0 on 2025-04-15; Raspberry Pi Pico with RP2040

Reproduction

Was working on a C module file for MicroPython and included this repo as a submodule but when it got time to #includeing the necessary header files, I got the above error. Apparently it's because alloca.h is only present on Linux and I'm using VSCode on Windows with the MicroPico extension. How shall I remedy this?

Expected behaviour

No response

Observed behaviour

Hovering over the #include "py/runtime.h" file leads to the error cannot open source file "alloca.h" being shown.

Additional Information

No, I've provided everything above.

Code of Conduct

Yes, I agree

CANDIDATE · PULL REQUEST

py: Use <alloca.h> for alloca()

mergedby stinosopened 2014-05-03updated 2014-07-10

alloca() is declared in alloca.h which als happens to be included by stdlib.h.
For mingw however it resides in malloc.h only.
So if we include alloca.h directly, and add an alloca.h for mingw in it's port
directory we can get rid of the mingw-specific define to include malloc.h
and the other ports are happy as well.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied