Linux 64位移植问题
我正在研究 Linux 64 位移植,我们在代码中使用了很多 long 变量。现在在 Linux 64 上,long 是 64 位。我们在位操作代码中面临问题。 我听说有选项LLP64(长至32)和ILP64(长至64)。但我不知道它的编译器选项(g++)。 我还有一些疑问, 如果我使用选项 LLP64 进行编译,那么可执行文件是否是本机 64 位?
使用此选项,我是否可以包含 64 位第三个库?
I am working on Linux 64 bit porting and we used a lots of long variable in our code. Now on Linux 64 long is 64 bit. We are facing problem in the bits manipulation code.
I heard there are options LLP64(long as 32) and ILP64(long as 64). But I don’t know the compiler option for it(g++).
I have few more doubts,
If I compile with option LLP64 then the executable will be native 64 bit or not?
With this option, can I include the 64 bit third libraries or not?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
gcc 不允许您选择 LLP64 ,至少在 Linux 目标上不允许。即使这样做,您也不会与其他库(包括 libc)实现 ABI 兼容。
您必须
gcc doesn't let you choose LLP64 , atleast not on linux targets. Even if it did, you wouldn't be ABI compatible with other libraries (including libc).
You'll have to either