查看: 3121|回复: 4

[已解决] ld文件中*(SORT(.ctors.*))和*(SORT(.ctors))的区别是什么(已解决)

[复制链接]

该用户从未签到

21

主题

62

帖子

0

中级会员

Rank: 3Rank: 3

积分
330
最后登录
1970-1-1
发表于 2013-10-10 16:12:00 | 显示全部楼层 |阅读模式
 .text :
 {
  KEEP(*(.isr_vector))
  *(.text*)
  KEEP(*(.init))
  KEEP(*(.fini))
  /* .ctors */
  *crtbegin.o(.ctors)
  *crtbegin?.o(.ctors)
  *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
  *(SORT(.ctors.*))
  *(.ctors)
  /* .dtors */
   *crtbegin.o(.dtors)
   *crtbegin?.o(.dtors)
   *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
   *(SORT(.dtors.*))
   *(.dtors)
  *(.rodata*)
  KEEP(*(.eh_frame*))
 } > FLASH
请问这段代码证中  *(SORT(.ctors.*))是什么意思,和  *(SORT(.ctors))的区别是什么
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-10-10 16:20:16 | 显示全部楼层

RE:ld文件中*(SORT(.ctors.*))和*(SORT(.ctors))的区别是什么

请问一下,你是基于什么产品的,谢谢.
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

62

帖子

0

中级会员

Rank: 3Rank: 3

积分
330
最后登录
1970-1-1
 楼主| 发表于 2013-10-10 19:53:01 | 显示全部楼层

回复:ld文件中*(SORT(.ctors.*))和*(SORT(.ctors))的区别是什么

回复第 2 楼 于2013-10-10 16:20:16发表:
请问一下,你是基于什么产品的,谢谢. 

这个和产品没什么关系吧,就是连接文件中的,kl25的,使用的是CMSIS提供的连接文件
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

178

帖子

0

高级会员

Rank: 4

积分
825
最后登录
1970-1-1
发表于 2013-10-21 16:56:48 | 显示全部楼层

回复:ld文件中*(SORT(.ctors.*))和*(SORT(.ctors))的区别是什么

ctors是一个section,保存着程序的全局的构造函数的指针数组。没看到类似*(SORT(.ctors))的用法,一般都是*(.ctors), *(SORT(.ctors.*))是指把.ctors.xx这些section按序排列的意思。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

299

帖子

0

高级会员

Rank: 4

积分
653
最后登录
2018-12-14
发表于 2013-10-21 18:10:00 | 显示全部楼层

回复:ld文件中*(SORT(.ctors.*))和*(SORT(.ctors))的区别是什么(正解)

SORT() 关键字是对满足字符串模式的所有名字进行递增排序.
这两个命令所排序的字符串内容不同
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-6 07:25 , Processed in 0.093781 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表