相关疑难解决方法(0)

在没有/ proc/self/exe的情况下查找当前可执行文件的路径

在我看来Linux使用/ proc/self/exe很容易.但我想知道是否有一种方便的方法可以在C/C++中使用跨平台接口查找当前应用程序的目录.我已经看到一些项目与argv [0]混在一起,但它似乎并不完全可靠.

如果你曾经不得不支持Mac OS X,它没有/ proc /,你会做什么?使用#ifdefs隔离特定于平台的代码(例如NSBundle)?或者尝试从argv [0],$ PATH等等推断出可执行文件的路径,冒着在边缘情况下发现错误的风险?

c c++ linux macos executable

183
推荐指数
7
解决办法
10万
查看次数

使用GCC的C/C++:静态地将资源文件添加到可执行文件/库

有没有人知道如何使用GCC将任何资源文件静态编译到可执行文件或共享库文件中?

例如,我想添加永远不会改变的图像文件(如果他们这样做,我不得不替换文件),并且不希望它们在文件系统中存在.

如果这是可能的(我认为这是因为Visual C++ for Windows也可以这样做),我如何加载存储在自己的二进制文件中的文件?可执行文件是否解析自身,找到文件并从中提取数据?

也许GCC有一个选项,我还没有见过.使用搜索引擎并没有真正吐出正确的东西.

我需要这个用于共享库和普通的ELF可执行文件.

任何帮助表示赞赏

c++ linux gcc shared-libraries elf

88
推荐指数
7
解决办法
6万
查看次数

将数据附加到exe

这个问题扩展到我之前问题的一个答案:如何在exe ...中保存用户注册...(C#).

这个想法本身对我来说仍然很新,但看起来似乎有道理.我第一次尝试从一个不同的应用程序内部向exe附加一个字符串不起作用.然后有点聪明,并尝试附加字节.仍然没有运气.

我在Windows Portable Executable文件上找到了各种文档:

http://en.wikipedia.org/wiki/Portable_Executable

http://msdn.microsoft.com/en-us/magazine/bb985997.aspx

http://msdn.microsoft.com/en-us/windows/hardware/gg463125

坦率地说,我理解得很少,以至于对我来说没什么用处.更多的使用我能够找到一个delphi教程,描述了向可执行文件添加"有效负载"的想法.它继续说要做到这一点,你需要让exe知道,并且还能够跟踪你把它放在哪里......或者其他东西.除了我从代码本身可以猜到的东西之外,我对delphi一无所知. http://www.delphidabbler.com/articles?article=7&part=2

最有用的只是一个示例或如何在可执行文件中添加和检索一小段信息的链接.我想要从Linux服务器上的C#Forms应用程序执行此操作作为php脚本运行.我想一个独立的C++应用程序接受信息作为参数应该能够做到这一点.

我也对其他想法持开放态度.

谢谢.

exe portable-executable

15
推荐指数
2
解决办法
1万
查看次数

SDL将图像嵌入程序可执行文件中

是否可以使用可在运行时使用的SDL在程序中嵌入图像.

例如,我有一个程序在启动时显示包含徽标和版权信息的启动画面.而不是将此图像放在位图文件中,并使用SDL_LoadBMP将其加载到SDL_Surface.我希望将图像嵌入到程序二进制文件中,以阻止某人可能更改启动图像和版权名称.

有没有人对如何做到这一点有任何建议?示例代码会很棒.

c c++ sdl image bitmap

11
推荐指数
1
解决办法
3628
查看次数

标签 统计

c++ ×3

c ×2

linux ×2

bitmap ×1

elf ×1

exe ×1

executable ×1

gcc ×1

image ×1

macos ×1

portable-executable ×1

sdl ×1

shared-libraries ×1