您尚未登录。

#1 2018-02-21 21:47:54

spwork
会员
注册时间: 2018-02-21
帖子: 5

[已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

我是linux编程的初学者,
我今天用gcc编译了一个helloworld。c,但是却没有生成真正的可执行文件,而是生成了ELF 64-bit LSB shared object, x86-64,文件,
怎样才能生成一个真正的可执行文件,像这样的:ELF 64-bit LSB executable, x86-64,

最近编辑记录 spwork (2018-02-22 01:05:38)

离线

#2 2018-02-21 22:21:03

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,836
个人网站

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

这问题一点也不简单。

现在的可执行文件都是 shared 了,以前的会是 executable。原因是,现在编译器都默认启用了 PIE(位置无关可执行文件)。

参考资料:

离线

#3 2018-02-21 22:26:24

spwork
会员
注册时间: 2018-02-21
帖子: 5

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

但是shared文件不能双击执行,executable可以双击执行

离线

#4 2018-02-21 22:30:09

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,836
个人网站

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

spwork 说:

但是shared文件不能双击执行,executable可以双击执行

用的什么文件管理器?去它的网站上报告 bug 呗。

离线

#5 2018-02-21 22:32:41

spwork
会员
注册时间: 2018-02-21
帖子: 5

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

用的就是archlinux自带的那个

离线

#6 2018-02-21 22:36:56

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,836
个人网站

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

spwork 说:

用的就是archlinux自带的那个

Arch Linux 自带了啥?不都是自己装的么。

离线

#7 2018-02-21 22:38:21

spwork
会员
注册时间: 2018-02-21
帖子: 5

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

依云 说:
spwork 说:

用的就是archlinux自带的那个

Arch Linux 自带了啥?不都是自己装的么。

那应该是gnome自带的那个

离线

#8 2018-02-21 23:21:10

matrikslee
会员
注册时间: 2017-04-21
帖子: 450
个人网站

Re: [已解决]问一个简单的问题如何用gcc生成一个真正的可执行文件

gnome自带的文件管理器确实无法执行 gcc编译出来的“可执行文件”。

离线

页脚