Tag: 可执行的

确定由pyInstaller生成的Python EXE中的应用程序path

我有一个应用程序驻留在一个.py文件中。 我已经能够让pyInstaller成功地将它捆绑到Windows的EXE中。 问题是,应用程序需要一个.cfg文件,该文件始终直接位于同一目录中的应用程序旁边。 通常,我使用以下代码构buildpath: import os config_name = 'myapp.cfg' config_path = os.path.join(sys.path[0], config_name) 但是,从pyInstaller生成的EXE调用时,sys.path似乎是空白的。 当您运行python交互式命令行并尝试获取sys.path [0]时,会发生相同的行为。 是否有一个更具体的方式获取当前正在运行的应用程序的path,以便我可以find相对于它的文件?

自修改代码的用途是什么?

有没有真正的自我修改代码的用途? 我知道,他们可以用来构build蠕虫/病毒,但我想知道是否有一个很好的理由,程序员可能不得不使用自我修改代码。 有任何想法吗? 假设的情况也是受欢迎的。

确定Linux中二进制文件的目标体系结构(库或可执行文件)

我们遇到一个问题,这个问题涉及到一个运行在带有Via C3处理器的研华POS板上(相当老的)FC3下的Java应用程序。 Java应用程序有几个编译的共享库,通过JNI访问。 通过C3处理器被认为是i686兼容。 前一段时间,在MiniItx板上安装相同处理器的Ubuntu 6.10之后,我发现前面的语句不是100%正确的。 由于在C3处理器中缺乏一些特定和可选的i686指令,Ubuntu内核在启动时被挂起。 在使用i686优化时,GCC编译器默认使用缺lessC3实现i686集的这些指令。 在这种情况下,解决scheme是使用i386编译版本的Ubuntu发行版。 Java应用程序的基本问题是FC3发行版是通过从另一台PC的HD图像克隆而安装在HD上的,这次是Intel P4。 之后的发行需要一些黑客运行,如用i383编译版本replace一些软件包(如内核之一)。 问题是,工作一段时间后,系统完全挂起没有痕迹。 我担心一些i686代码会留在系统的某个地方,并可能随时随机执行(例如从挂起模式恢复之类的东西)。 我的问题是: 有没有什么工具或方法可以找出特定的体系结构是二进制文件(可执行文件或库)的目标,只要“ 文件 ”不能提供太多的信息?