我正在使用一个专有的开发环境来编译用C和 IEC 61131 语言编写的代码。对于C编译,它使用 GCC 4.1.2 和这些构建选项:
-fPIC -O0 -g -nostartfiles -Wall -trigraphs -fno-asm
Run Code Online (Sandbox Code Playgroud)
编译是由使用 Cygwin 在 windows 上运行的程序完成的。
我的问题是,IEC 语言预处理器不是那么有用(根本不支持 #define),我想使用宏!我不明白为什么 GCC 预处理器会真正关心它正在处理的语言(我的目标语言是结构化文本),所以我想看看是否有人可能知道一种方法来处理不同文件类型的文件然后不会进一步编译(我只是在通过 IEC 编译器运行文件之前寻找宏扩展)。我对编译器选项和环境一无所知,因为我从来没有处理过它们,我只是编写C代码,它神奇地编译并传输到我的目标系统来运行。
我真正能做的唯一事情就是添加构建选项并在执行任何操作之前执行批处理文件。我认为我最大的希望在于使用批处理文件来处理某个扩展名的所有文件,但我什至不知道要使用 gnuinst 文件夹中的哪个可执行文件,更不用说使用哪些标志来运行文件了。