Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 如何在GCC LD脚本的特定输出部分中放置libc.a对象?_Memory_Static Libraries_Ld_Libc_Map Files - Fatal编程技术网

Memory 如何在GCC LD脚本的特定输出部分中放置libc.a对象?

Memory 如何在GCC LD脚本的特定输出部分中放置libc.a对象?,memory,static-libraries,ld,libc,map-files,Memory,Static Libraries,Ld,Libc,Map Files,我试图将libc函数,如memcpy,memset等放在内存的特定部分。 我试着这样做smth: .section1 { /path/to/libc.a otherobj.o } .section2 { *(.text) } .section3 { *(.data .bss) } 使用gcc的ld工具和这个脚本以及-map选项,我检查了生成的映射文件,看到memcpy和其他符号仍然出现在第2节和第3节中 解决方法: 最后,我将lib文件提取到它的对象文件集合中

我试图将libc函数,如
memcpy
memset
等放在内存的特定部分。 我试着这样做smth:

.section1
{
    /path/to/libc.a
    otherobj.o
}
.section2
{
    *(.text)
}

.section3
{
    *(.data .bss)
}
使用gcc的ld工具和这个脚本以及-map选项,我检查了生成的映射文件,看到
memcpy
和其他符号仍然出现在第2节和第3节中

解决方法:
最后,我将lib文件提取到它的对象文件集合中,并将它们分别放在我喜欢的地方。

为什么?你到底想干什么?这听起来很像,我的问题是试图把libc代码放在一个更快的内存中。我使用静态链接,必须只将libc代码放在该部分,而不放其他内容。