我使用python和wxwidgets开发了一个小程序.这是一个非常简单的程序,它只使用一个迷你框架在需要时显示一些信息,其余时间它什么也没显示,只在任务栏中显示一个图标.
当我使用py2exe(单文件exe模式,优化)构建exe时,我得到一个6MB大小的文件!
我尝试不包括一些不需要的库或dll,但我仍然无法理解为什么我会在任务栏中只获得一个迷你框架和图标这么大的文件.
有没有办法减少py2exe生成的exe的大小?
这是我自己减少一点的方法:
options = {"py2exe":{"excludes" : ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
'Tkconstants', 'Tkinter'],
"dll_excludes": ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
'tk84.dll'],
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在尝试使用CMake编译使用C库GStreamer的C++应用程序.
我的main.cpp文件如下所示:
extern "C" {
#include <gst/gst.h>
#include <glib.h>
}
int main(int argc, char* argv[])
{
GMainLoop *loop;
GstElement *pipeline, *source, *demuxer, *decoder, *conv, *sink;
GstBus *bus;
/* Initialisation */
gst_init (&argc, &argv);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这有效:
g++ -Wall $(pkg-config --cflags --libs gstreamer-0.10) main.cpp -o MPEG4GStreamer
Run Code Online (Sandbox Code Playgroud)
如何使用CMake制作它?我的CMakeLists.txt文件如下所示:
cmake_minimum_required (VERSION 2.6)
project (MPEG4GStreamer)
add_executable (MPEG4GStreamer main.cpp)
include(${CMAKE_ROOT}/Modules/FindPkgConfig.cmake)
# Set CMAKE_C_FLAGS variable with info from pkg-util
execute_process(COMMAND pkg-config --cflags gstreamer-0.10
OUTPUT_VARIABLE CMAKE_C_FLAGS)
string(REPLACE "\n" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
message("CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
# Set CMAKE_LINKER_FLAGS …Run Code Online (Sandbox Code Playgroud) 除了cx_Freeze之外,还有其他任何当前维护的工具套件可以为Python 3k生成独立的可执行文件吗?
是否有其他技术可以最大限度地减少Windows下的预安装要求?
在查看OSR Online和NtInternals等各种页面之后,似乎NtCreateProcess(和ZwCreateProcess)指定给出内存部分的句柄是可选的!
这是否意味着我们可以拥有不受可执行映像支持的进程?如果是这样,它们可能(或者它们)可能用于什么?这是否意味着我们可以将可执行文件完全复制到内存中,然后甚至从磁盘中删除该文件,并让该过程继续运行?这似乎是一个非常有用的功能.
我在我的Android设备上安装了python 2.7,我尝试通过在终端模拟器中输入命令来执行python脚本.问题是虽然我使用python的完整路径,但会出现以下错误:
link_image[1997]: failed to link ./python CANNOT LINK EXECUTABLE.
我试图在./~bashrc中添加环境变量,但我没有成功.任何的想法 ?
我一整天都在修补这里和这里的解决方案:
但它不像我想象的那样工作.
我有一个程序,我在过去的6个月里一直在努力,我只是将其中一个功能发给了另一个开发Python工作的开发人员.
我想要做的是使用他的脚本,而不必让用户下载和安装python.
我认为这个问题是1个python脚本调用其他14个python脚本来完成各种任务.
所以我要问的是最好的方法是什么?
是否可以将15个脚本及其所有依赖项打包成1个我可以正常调用的exe文件?或者是否有另一种方法可以将初始脚本打包到exe中,而exe可以正常调用.py脚本?或者我应该只说f'它并在我的安装文件中包含一个python安装程序?
这适用于Python 2.7.6顺便说一句
这就是初始脚本调用其他脚本的方式.
import printSub as ps
import arrayWorker as aw
import arrayBuilder as ab
import rootWorker as rw
import validateData as vd
etc...
Run Code Online (Sandbox Code Playgroud)
如果这是你试图合并这些脚本,你会怎么做呢?
谢谢
我想读取ELF二进制文件的.plt部分并获取外部函数的所有虚拟地址.
Disassembly of section .plt:
0000000000400400 <puts@plt-0x10>:
400400: ff 35 02 0c 20 00 pushq 0x200c02(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
400406: ff 25 04 0c 20 00 jmpq *0x200c04(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
40040c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400410 <puts@plt>:
400410: ff 25 02 0c 20 00 jmpq *0x200c02(%rip) # 601018 <_GLOBAL_OFFSET_TABLE_+0x18>
400416: 68 00 00 00 00 pushq $0x0
40041b: e9 e0 ff ff ff jmpq 400400 <_init+0x20>
0000000000400420 <__libc_start_main@plt>:
400420: ff 25 fa 0b 20 00 jmpq *0x200bfa(%rip) …Run Code Online (Sandbox Code Playgroud) 我有一个符合Windows和Linux的Go脚本,我将它提供给我的客户.
我开始探索Perl6并希望用perl 6编写新版本,有没有人知道Perl 6是否有任何选项,如:
去构建,GOOS和GOARCH,用户可以在哪里设置操作系统和ARCH并创建新的可执行文件,最终用户将在哪里使用它?