V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  amiwrong123  ›  全部回复第 4 页 / 共 47 页
回复总数  929
1  2  3  4  5  6  7  8  9  10 ... 47  
2025 年 3 月 4 日
回复了 amiwrong123 创建的主题 程序员 gcc 编译出 elf,和 ld 编译出 elf,真的有区别吗?
先介绍下背景:不管是用 ld 还是 gcc ,都有这些参数-nostartfiles -nostdlib -static --start-group -lnosys -specs=nosys.specs -specs=nano.specs -lgcc -lc --end-group -gc-sections
-----------
这段话修正一下:
如果是 ld ,则携带-nostartfiles -nostdlib -static --start-group -lnosy -lgcc -lc --end-group -gc-sections
如果是 gcc ,则携带-nostartfiles -nostdlib -static --start-group -lnosys -specs=nosys.specs -specs=nano.specs -lgcc -lc --end-group -gc-sections
2025 年 3 月 4 日
回复了 amiwrong123 创建的主题 程序员 gcc 编译出 elf,和 ld 编译出 elf,真的有区别吗?
@diivL #1
@mahaoqu #2
@seers #3
@sir283 #4

感觉之前的回答啦,现在又遇到了一个问题:

先介绍下背景:不管是用 ld 还是 gcc ,都有这些参数-nostartfiles -nostdlib -static --start-group -lnosys -specs=nosys.specs -specs=nano.specs -lgcc -lc --end-group -gc-sections

首先还是用 ld 来进行编译,编译能够完成,但会报一些链接器的警告( https://stackoverflow.com/questions/73742774/gcc-arm-none-eabi-11-3-is-not-implemented-and-will-always-fail 类似这个链接里的报的警告):
warning: _close is not implemented and will always fail ,还有_fstat _getpid _satty _kill _lseek _read _write 。
然后我又去查看了反汇编,发现里面有了一些我不想要的东西,居然还有什么 raise 函数、raise_r 函数的代码,还有一些其他的函数的代码,即使我都没有进行调用的。而且吧,我是加了-gc-sections ,居然还是没有 gc 掉。

然后我换成 gcc 来编译,还是携带相同的参数,ld 的参数,我就用,Wl 来传递。还是发现会报这些警告。
PS:我发现 gcc 有一个方便的地方,就是不像 ld 必须要使用-L 参数指定搜索库的路径。gcc 可以不指定这些路径,它自己会去找。

最终,我使用 gcc 并携带了--specs=nosys.specs --specs=nano.specs ,发现终于不报这些警告了。而且查看 dis 文件,发现也干净了很多,没有 raise 函数(以及其他的乱七八糟没用到的函数)的汇编在里面了。但是呢,却发现多了一些奇怪的 section (从 dis 文件里看):.bss.__malloc_free_list .bss.__malloc_sbrk_start .bss.errno .bss.__lock__malloc_recursive_mutex

最终,我因为不想看到这些烦人的警告,还是选择了这个命令
gcc -nostartfiles -nostdlib -static -Wl,--start-group -lnosys -specs=nosys.specs -specs=nano.specs -lgcc -lc -Wl,--end-group -Wl,-gc-sections

但上面这些现象的原因我还是很懵,各位大佬有空可以帮忙看看。现在我先解决问题,后面我也研究研究。
@opengps #16
这已经 这个小县城的 最大的营业厅了。
@lonjin #13
这。。退个宽带,还得认识人才能解决了呗。。
2025 年 2 月 28 日
回复了 amiwrong123 创建的主题 程序员 gcc 编译出 elf,和 ld 编译出 elf,真的有区别吗?
@diivL #1
@mahaoqu #2
@seers #3
@sir283 #4
各位大佬,又遇到了一个奇怪的问题。还是我帖子说的这种场景,我用 ld 编译的时候,会报错奇怪的 undefined reference to 。
https://blog.csdn.net/qq_24341965/article/details/73928434

我根据这篇博客的灵感,我就 调整命令参数之间的顺序,发现了如下规律:
- $(OBJECTS)是 Makefile 变量,是多个 o 文件空格隔开
- ld 命令后,如果是$(OBJECTS) --start-group -lnosys -lc -lgcc --end-group ,就不会报错 undefined reference to
- ld 命令后,如果是--start-group -lnosys -lc -lgcc --end-group $(OBJECTS),就会报错 undefined reference to

ld 命令当然还有其他参数,但其他的都不影响报错,我就忽略了。

虽然问题已经解决了,但是还是感觉不可思议,可以解下惑吗
@dx123 #8
离谱,可能整个县城,就我们在 注销宽带,然后还需要排队。。
@lonjin #2
小县城的人 真霸道啊
好了,10086 和工信部 都已经投诉了。
@liu731 #1
@lonjin #2
@mywaiting #3
@hfJ433 #4
@olaloong #5
依据《电信用户申诉处理办法》的规定:"用户对电信业务经营者的处理结果不满意或者电信业务经营者在接到投诉后 15 日内未答复的,可以向申诉受理机构提出申诉。”由于企业在 15 日内尚未做出最终答复,请您先等候企业的投诉处理结果,如您对投诉处理结果不满意再提交申诉材料。

现在还挺恶心,要 先给企业投诉过 超过 15 天,才可以吗。。
@olaloong #5
好的,先 10086 投诉,再工信部投诉。
@liu731 #1
@lonjin #2
@mywaiting #3
@hfJ433 #4
好的,马上投诉
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 程序员 win7 重装系统,在展开 Windows 文件时卡死,怎么解决
@liyafe1997 #8
使用 HDTune ,不带快速扫描得进行扫描,发现了 很多坏块。

没想到,买个新的固态,居然翻车了。
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 硬件 关于 X99 主板的一些疑问,求大佬解答
@CodeAllen #2
对了请教下,对于内存条电压来说,是不是 x99 主板,都最好上标准电压的服务器条子。DDR4 内存标准电压为 1.2V(DDR3 为 1.5V)。

那么,d3 ,就最好 1.5V 的; d5 ,就最好 1.2V 的。是这样的吗?
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 程序员 win7 重装系统,在展开 Windows 文件时卡死,怎么解决
@tangmanger #10
Rufus 烧录镜像进 优盘,算 最原始的方法吗
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 硬件 关于 X99 主板的一些疑问,求大佬解答
@aru #3
我也觉得 3 年保修这一点很好,因为不是主力机,停摆几天也无所谓。

品牌服务器主板 还没关注过,可以推荐几个型号吗,回头我闲鱼没事逛逛。
这种服务器主板,都不能装进 一般的家用机箱了吧 话说?
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 程序员 win7 重装系统,在展开 Windows 文件时卡死,怎么解决
@liyafe1997 #8
好的,我回去先 快速扫描一遍,看看有没有坏道。不行,就 不开 快速扫描 扫一遍。
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 程序员 win7 重装系统,在展开 Windows 文件时卡死,怎么解决
@country
不过昨天装机的过程中,有一次确实看到了掉盘现象。就是有一次的装机过程里,只看到了磁盘 1 ,没看见磁盘 0
2025 年 2 月 27 日
回复了 amiwrong123 创建的主题 程序员 win7 重装系统,在展开 Windows 文件时卡死,怎么解决
@country
我靠,好像真的是硬盘坏了。这个笔记本里面是一个新换的固态和一个旧的机械。我刚才选择安装到机械里面,现在展开 windows 文件都 40%多了,而且一直在走。

就是说我这个新买的固态是坏的?但我之前进 pe 系统看,是能看到固态这个磁盘的。装机过程中也每次都能看到一个磁盘 0 和磁盘 1 。

我这固态买的是全新的呀,按理说不应该呀
2025 年 2 月 23 日
回复了 amiwrong123 创建的主题 VPS 想后面买个 vps,需要办一个什么 visa 信用卡?
@565656 #3
@Wiioy #6
好的,那就工行的星座卡吧。
我看星座卡里面有两种:
- “金卡,下面显示为金卡”
- “简约白金,下面显示为白金卡”
这两种的权益有很大差别吗
2025 年 2 月 19 日
回复了 amiwrong123 创建的主题 硬件 这个笔记本散热器上的的红色方块是啥?
@danhahaha #1
哦,原来是这个东西。已经在网上搜到了。
1  2  3  4  5  6  7  8  9  10 ... 47  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3224 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 11:19 · PVG 19:19 · LAX 04:19 · JFK 07:19
♥ Do have faith in what you're doing.