使用gcc
我可以删除注释和不需要的空行,但我想减少文件的大小,是否有任何选项gcc
或任何其他工具这样做
目前我喜欢这个
gcc -fpreprocessed -dD -E -P source_code.c > source_code_comments_removed.c
Run Code Online (Sandbox Code Playgroud)
这是场景假设这是我的source_code.c
#include <stdio.h>
main()
{
// declar variable i
int i=0;
/* multiline comment
for loop
demo stuff
*/
for(i=1; i<=5; i++)
{
// just print something
printf("Hello %d \n",i);
}
}
Run Code Online (Sandbox Code Playgroud)
我想像这样缩小,删除注释和空白行
#include <stdio.h>
main(){int i=0;for(i=1; i<=5; i++){printf("Hello %d \n",i);}}
Run Code Online (Sandbox Code Playgroud)
注意:我在Linux上请不要建议任何基于Windows的解决方案
ser*_*gej 11
sed -rb 's/ {6}//g' main.c |
sed -rb 's/\/\/.*$//g' |
tr -d '\n' |
sed -rb 's/\/\*.*\*\///g' |
sed -rb 's/(#include.*>)/\1\n/g'
Run Code Online (Sandbox Code Playgroud)
会给你:
#include <stdio.h>
main(){int i=0;for(i=1; i<=5; i++){printf("Hello %d \n",i);}}
Run Code Online (Sandbox Code Playgroud)
但是,正如评论中所述,这没有多大意义,也不会减少编译对象文件的大小!