当前位置: 技术问答>linux和unix
晕死!为啥我自己编译的程序,运行时说我权限不够?
来源: 互联网 发布时间:2015-12-24
本文导语: 用的是redhat9.0,写一个简单的程序,然后gcc编译一下,却没有权限.然后chmod 777 file.o,然后再执行,又发现说不能运行二进制文件? 搞不懂了. | man gcc先把gcc选项搞清除。 gcc -c 选项是将源文件编...
用的是redhat9.0,写一个简单的程序,然后gcc编译一下,却没有权限.然后chmod 777 file.o,然后再执行,又发现说不能运行二进制文件?
搞不懂了.
搞不懂了.
|
man gcc先把gcc选项搞清除。
gcc -c 选项是将源文件编译成目标文件,当然不能执行。默认的gcc xxx.c是编译+链接成可执行文件(普通linux是ELF格式),就可以运行了。
你要把编译和链接分开,可以这样:
gcc -c xxx.c -o xxx.o
gcc xxx.o -o your_exe_file
gcc -c 选项是将源文件编译成目标文件,当然不能执行。默认的gcc xxx.c是编译+链接成可执行文件(普通linux是ELF格式),就可以运行了。
你要把编译和链接分开,可以这样:
gcc -c xxx.c -o xxx.o
gcc xxx.o -o your_exe_file