gcc编译没有main的
1. gcc -c ch01.c -o main与gcc ch01.c -o main 有什么区别 为什么前者编译出来的执行文件不能运行
加-c是编译不链接,生成的是目标文件,-o和-c一起用就是把这目标文件改名输出成main而已。
单加-o就是编译且链接输出成执行文件。
2. Clion中terminal为何用gcc main.c没有反应不能编译么没人懂么
误 no input files 意思是 gcc: 没有输入文件 .........你就只写了个gcc的名字 后面没写你的源文件名当然要出错了 如果你想学C语言的话 推荐你看两本书 一本叫 <<深入理解计算机系统>> 还有一本叫 <<UNIX系统高级编程>> .再安装一个linux系统,要比看视频深入快速的多. 你要是不懂linux可以看<<鸟叔的linux私房菜>>入门, 学C语言用windows入门实在是太难了, 各种各样的坑等着你去填啊
3. 关于gcc在函数‘start’中对main未定义的引用
你是不是在编译静态库或者动态库?也就是没有main函数。如果是,再参考一下下边的提示。
-c
参数表示将源文件编译成object(目标文件)。
即
gcc
-c
foo.c
会编译成
foo.o
gcc
不加参数时会编译且尝试链接成可执行文件,然而
foo.c
的代码中没有main函数的定义,所以最终无法成功链接,故报错。
4. gcc -o main main.cpp 和 gcc main.cpp -o main 有什么区别啊
依赖于g++对命令行参数的解析方式。-o main是选项,第1种是标准用法,与ls -l <file> 和 ls <file> -l是一样的意思。
这没有语法角度,-o main main.cpp或者 main.cpp -o main都是参数,直接影响g++程序中argc和argv参数。比如g++ -o main main.cpp,最终传到g++的main函数中 main(int argc, char **argv)的参数是:argc:4, argv: {"g++", "-o", "main" "main.cpp"},argv是一个字符串数组,第个元素表示一个命令行参数,argc表示命令行参数的个数。g++去解析这些命令行参数,如果想一探究竟,直接查阅源码就OK。
不建议使用后一种。使用man g++可以查看标准使用方式。
5. gcc编译好的文件./执行时没有那个文件
你的头文件错了。。gcc是编译c用的,你写的是c++,要用g++来编译。
6. avr stdio中调用了winavr gcc的头文件,是不缺少了main的定义,如果是话,该怎么办呢
int main()
{
}
加一个进去试试。
7. gcc 编译时报错"undefined reference to 'main'" 问题
编译不通过是因为代码有几个语法错误呢:
1、while 后面不要用分号。
2、return 后面的分号要用英文的分号。
3、第2个while的第一个括号是多余的。
8. C语言中没有main函数生成可执行程序的几种方法
main函数 就是C程序
C程序生成可执行程序
就是编译
任何一个编译器都可以做到
如果你要写程序来执行这个过程 那就是自己写一个编译器了。