当前位置: 技术问答>linux和unix
在SCO OpenSever中用C语言编程的问题!!!
来源: 互联网 发布时间:2014-11-05
本文导语: (main.c)程序如下: main() { printf("I love You!"); } 遍译: # cc main.c 得到: a.out* 执行: ./a.out 问题是: (1)为什么它的执行文件名是a.out? (2)为什么它要加“./”才能执行? (3)为什么它有几十那么大? | ...
(main.c)程序如下:
main()
{
printf("I love You!");
}
遍译:
# cc main.c
得到:
a.out*
执行:
./a.out
问题是:
(1)为什么它的执行文件名是a.out?
(2)为什么它要加“./”才能执行?
(3)为什么它有几十那么大?
main()
{
printf("I love You!");
}
遍译:
# cc main.c
得到:
a.out*
执行:
./a.out
问题是:
(1)为什么它的执行文件名是a.out?
(2)为什么它要加“./”才能执行?
(3)为什么它有几十那么大?
|
我试了一下你的程序,在linux下用gcc编译,18k,在windows下用cl编译,28k。
不知道你用cc编译出来的程序是多大。要不,你改用gcc好了。
不知道你用cc编译出来的程序是多大。要不,你改用gcc好了。
|
同意楼上的说法。
cc -o 可执行文件名 源程序
./表示是当前目录
cc -o 可执行文件名 源程序
./表示是当前目录
|
可以考虑编一个makefile 文件来确定目标文件的生成位置,及可执行文件的生成位置.你可以试一下.
|
你在windows下编一个同样的程序,难道可执行程序会小吗?
|
几十K也不算大啊
|
你理解编译的4个步骤吗,那就不会说出这中话了,什么编译后的大小问题了
|
没有的话,可以去下载一个啊
|
46k多我试了!
|
如果你用-o选项就可以设定生成的目标文件了。用.执行是因为你的PATH中没有但前目录,这与windows和dos不同,windows和dos查找文件时现在当前目录中查找,但unix中如果你的PATH中没有指定.系统就不会查找当前目录,而必须用./告诉系统是当前目录。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。