ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GCC/CLANG 扩展宏并调试

2022-01-19 13:33:37  阅读:221  来源: 互联网

标签:files GCC CC demo CLANG HTML options 调试 INC



 

 

 

${CC} $(INC) -E demo.c > demo.i
${CC} $(INC) -E -P demo.c > demo.i
${CC} $(INC) -E demo.c | sed '/^\#/d' | indent -st -i2 > demo-e.c
${CC} $(INC) -E -P -C demo.c | indent -st -i2 > code-x.c
${CC} $(INC) -E -x c -P -C -traditional-cpp demo.c > demo-e.c
${CC} $(INC) -E -x c -C demo.c > demo-e.c

 

https://stackoverflow.com/questions/4900870/can-gcc-output-c-code-after-preprocessing

https://stackoverflow.com/questions/277258/how-do-i-see-a-c-c-source-file-after-preprocessing-in-visual-studio

 

 

https://jkorpela.fi/html/cpre.html

 

The options (switches) you need to give in such a case depend on the C compiler. The following instructions apply to the Gnu C compiler (gcc). For other compilers, the options could be similar, but please check the applicable manuals.

gcc options when using a preprocessor for non-C files
optioneffect
-E preprocessing only
-x c interpret files as C source files (instead of treating them as object files); this option is given to make the compiler preprocess them
-P don't generate #line directives (which would of course mess things up in HTML documents!)
-C do not ignore comments (since an HTML document might contain data which would be a comment in C)

When these options are used, gcc writes the preprocessed data (e.g. with #include directives replaced by the contents of the files referred to) to standard output. Thus, assuming you have a document demo.htm which is an HTML document except for the use of #include directives, you can generate an HTML document demo.html from it with the command
gcc -E -x c -P -C demo.htm >demo.html

 

标签:files,GCC,CC,demo,CLANG,HTML,options,调试,INC
来源: https://www.cnblogs.com/sinferwu/p/15821913.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有