问题标签 [linker-flags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - pic 与 pie 的区别
我正在寻找二进制加密代码生成的选项,发现两个可用选项是 PIC 和 PIE。我试图找到两者之间的差异,但没有找到合适的文章。如果有人可以用专业人士和玉米的例子来解释差异或提供好文章的链接,那将是很好的学习。
我的基本动机是保护编译后的代码,因为 ELF/PE 格式可能会受到病毒的攻击,也可能会被黑客入侵,或者借助反向技术可以重新生成代码。还请提供任何其他方法来保护已编译的代码免受攻击和 d-compling。
我正在通过 Cygwin 使用 GCC 编译器来构建跨平台应用程序。
ios - Available linker flags and it's use in iOS
I'm little bit confused with the linker flags available on iOS.
This question may not be a good one accoring to the faq, but I don't know anything about the linker flags, and I'm curious about it. That's why I'm asking it here.
- What is the use of -
ObjC
linker flag ? - What is the use of
-all_load
? - What is the use of
-force_load
?
What are the other frequently used linker flags available for iOS ?
Please help me to understand the linker flag usage. Thanks in advance.
iphone - "other linker flag" settings not being saved
I am required to enter in -ObjC
into the "other linker flags" area for my app as I use admob. I have been doing this with no problems in other apps, but in my latest app if i close xcode at all the flag will disappear.
To be specific, i enter in -ObjC
into the "other linker flag" area and it's there, i run it without issue. When i reload the project or reload xcode, this area is now blank again and my app crashes until i re-add the flag.
I tend to think there is something that is not allowing write access?
I have also tried deleting all the current builds as well which didn't fix it.
Edit - FOUND SOLUTION: Something in the directory was "locked" and from the command prompt I executed the command "sudo chmod 777" on the whole directory. This fixed the issue
objective-c - 带有 Xcode 的第三方库的 all_load 标志是一个不好的选择吗?
我正在使用第三方框架,由于未定义的选择器而导致崩溃。供应商告诉我需要添加 all_load 作为链接器标志。似乎这个编译的库正在向 UIViewController 注入方法来处理某些未知的细节。我不愿意使用 all_load 链接器标志,因为它会加载所有内容,这会使我的应用程序二进制文件不仅包含该库中的所有内容,还包含每个库。我正在尽我所能保持我的应用程序二进制文件的大小,所以我已经要求供应商消除这个要求以及在@protocols 中声明的属性,这些属性要求我在我的实现中综合这些属性。这个库通过泄露如此多的关键细节来打破封装。我宁愿让代表和块做任何需要做的事情,
不需要 all_load 作为链接器标志是否有意义,或者我太挑剔了?允许第三方库使用类别将方法注入 UIViewController 等对象是否不危险,尤其是在可能存在名称冲突的情况下?
c++ - g++ 的 json-spirit 链接器标志是什么?
我在任何地方都找不到这个。
我已经在我的 ubuntu 服务器上安装了 json-spirit apt-get install json-spirit-dev
。
g++
使用 json-spirit必须使用什么链接器标志?
c++ - 如何使用 g++47 允许 -z multidefs
如何告诉链接器g++
允许符号的多个定义(选择第一个外观)?
-z multidefs 允许多个符号定义。默认情况下,可重定位对象(.o 文件)之间发生的多个符号定义将导致致命错误情况。此选项抑制错误条件并允许采用第一个符号定义。此选项仅在指定 -b svr4 选项时有效。
该-zmuldefs
选项未被g++
, 或识别-z OPTION
。什么是正确的参数?可能吗?
visual-studio-2012 - /DEF 和 /NODEFAULTLIB 的 CMAKE
如何通过 CMAKE 将链接器标志“DEF”和“NODEFAULTLIB”添加到 vs2012 项目?
linker - 如何“未知类在 Interface Builder 文件中”错误可以通过读取“[MyClass class]”的行来修复?
我阅读了以下答案,因此我知道可以使用链接器选项解决“Interface Builder 文件中的未知类”错误。-ObjC
(仅供参考,MyClass 在静态库中。)
https://stackoverflow.com/a/6092090/534701
我还发现 App Delegate 中的单行[MyClass class]
代码可以在不使用-ObjC
选项的情况下处理相同的问题。我的问题是代码如何工作。
根据我上面附加的答案,发生错误是因为我的静态库中的符号未加载。那么,这是否意味着[MyClass class]
让链接器在运行时加载符号?(这没有意义)
c++ - 结合 FORTRAN 和 C++,链接错误
我应该将linux
一个 c++ 代码与旧代码结合起来,主要代码fortran
在哪里。fortan
我不是这方面的专家,我尝试从简单的测试开始,但我仍然无法编译它。也许我很愚蠢,但我无法在任何地方找到一个可行的例子。当链接可以通过 ifort 完成时,我设法编译了 fortran 和 c(稍后需要使用英特尔编译器和实际的 fortran 代码)。但是如果我理解正确的话,c++
链接必须由c++
编译器(g++
)完成。
那么我在这里做错了什么:
我的 FORTRAN 测试代码“ftest.f”:
和 C++ 代码“ctest.cpp”
我尝试使用以下内容进行编译:
我得到一个错误:
那么我应该怎么做才能成功链接这个程序呢?
c++ - 链接器语法:链接器在链接期间不使用所有链接器的标志
我有研究makefile项目。我正在使用 gnu gcc 并作为链接器,我使用带有以下参数的 gcc:
linkerCmdLine=$(exe) -Wl,--start-group -nostdlib -Map=test_mapfile.map -l:libc.a -l:libgcc.a -l:libm.a -Wl,--end-group -o $(输出)
在链接过程中,链接器不会使用所有这些标志:-Map=test_mapfile.map
未使用该标志。
为什么??
有一个项目设置文件,其中还存储了链接器设置。
\u201ClinkerCmdLine\=$(exe) -Wl, --start-group -nostdlib -Map\=./99_output/PUZ_GPF.map --gc-sections -l\:libc.a -l\:libgcc.a -l \:libm.a -Wl,--end-group -o $(输出)\u201D
我必须如何正确存储设置?
编辑:
使用地图文件可以正常工作,但实际上链接器文件有问题。我只使用以下标志:
“linkerCmdLine=$(exe) -Wl, --script=C:/workspace/test_project/test_linker_file.ld -static -o $(output)”
我在控制台窗口中收到此错误:
arm-none-eabi-gcc.exe:错误:无法识别的命令行选项 '--script=C:/workspace/test_project/test_linker_file.ld'
我不明白为什么,因为映射文件和 .ld 文件属于链接器标志。