c++ - pic vs vs pie之间的区别

标签 c++ c shared-libraries linker-flags

我正在寻找用于二进制加密代码生成的选项,并找到了两个可用的选项,即PIC和PIE。我试图找到两者之间的区别,但是没有找到合适的文章。如果有人可以用专家和 Jade 米的例子来解释差异,或者提供与优秀文章的链接,那将是很好的学习。

我的基本动机是保护编译后的代码,因为ELF/PE格式可能会受到病毒的攻击或被黑客攻击,或者借助反向技术可以重新生成代码。还请提供任何其他保护已编译代码免受攻击和d-compling攻击的方法。

我正在通过Cygwin使用GCC编译器来构建跨平台应用程序。

最佳答案

gcc documentation:

-fpic
Generate position-independent code (PIC) suitable for use in a shared library...

-fpie
These options are similar to -fpic and -fPIC, but generated position independent code can be only linked into executables....

关于c++ - pic vs vs pie之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16023637/

相关文章:

C - 比较整数数组(集合) - 散列或尝试

c++ - 内部可哈希类声明失败

c++ - 将文本转换为数组

c - net_ntoa、struct sockaddr_in 和指针转换

java - 如何在 JNI 中将事件/信号从 C 发送到 Java

c - 为什么在替换旧库时不能减小结构的大小?

c++ - qt按住鼠标按钮和定时器cpp

c++ - 资源管理器获取图像的缩略图非常快,它是如何工作的?

linux - 在 linux 中创建共享库时如何包含依赖信息?

c - dlopen 无法为作为原型(prototype)的函数定义符号