
在运行时将代码注入可执行文件
我正在开发应用程序(用C++编写),该应用程序在运行时会生成一些机器代码(现在是Linux,x86-64,但我计划在ARM上迁移)。接下来,它将生成的代码存储在内存中,并通过跳转到内存位置来执行它。长期以来,我在分配可执行内存方面遇到问题,但最终我使用以下方法解决了问题:uint8_t *memory = mmap (...
2024-01-10
建立一个.so也是可执行文件
因此,每个人都可能知道glibc/lib/libc.so.6可以像普通可执行文件一样在shell中执行,在这种情况下,它会打印其版本信息并退出。这是通过在.so中定义一个入口点来完成的。在某些情况下,将其用于其他项目也可能很有趣。不幸的是,您可以通过ld的-e选项设置的低级入口点太低级:动态加载程序不可用...
2024-01-10
将Java程序编译成可执行文件
我刚刚使用Eclipse编写了一个简单程序,并且想将其编译为可执行文件,但似乎根本找不到如何执行的方法。回答:你可以通过以下方式将.jar文件转换为.exe:: JSmooth是Java可执行包装器。它为Java应用程序创建本机Windows启动器(标准.exe)。由于它能够自行查找任何已安装的Java VM,因此它使Java部署更...
2024-01-10
在C#中执行批处理文件
我正在尝试在C#中执行批处理文件,但这样做并没有任何运气。我已经在互联网上找到了许多这样做的例子,但是它对我来说不起作用。public void ExecuteCommand(string command){ int ExitCode; ProcessStartInfo ProcessInfo; Process Process; ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + command); ProcessInfo...
2024-01-10
Go编译的可执行文件太大的原因
我编写了一个hello world Go程序,该程序在linux机器上生成了本机可执行文件。但是我很惊讶地看到简单的Hello worldGo程序的大小为1.9MB!为什么Go中如此简单的程序的可执行文件如此庞大?回答:确切的问题出现在官方常见问题解答中:引用答案:在GC工具链(连接体5l,6l和8l)做静态链接。因此,所...
2024-01-10
使用ls和grep查找可执行文件
我必须编写一个脚本来查找目录中的所有可执行文件。因此,我尝试了几种实现它的方法,它们实际上起作用了。但是我想知道是否有更好的方法。所以这是我的第一种方法:ls -Fla | grep \*$这很好用,因为-F标志为我完成了工作,并在每个可执行文件中添加了一个星号,但可以说我不喜欢该星号。这...
2024-01-10
如何在C中找到可执行文件的位置?
C / C ++中是否可以找到当前已执行程序的位置(完整路径)?(问题argv[0]在于它没有给出完整的路径。)回答:总结一下:在Unix上,/proc真正可行的方法是:readlink("/proc/self/exe", buf, bufsize) (Linux)readlink("/proc/curproc/file", buf, bufsize) (FreeBSD)readlink("/proc/self/path/a.out", buf, bufsize) (Solaris)...
2024-01-10
创建文件时执行bash脚本
我正在寻找编写一个小的bash脚本,以便在启动时监视任何新创建文件的目录。如果出现新文件,我希望它的存在触发第二个脚本运行。我看到它被用来触发压缩最近数字化的视频,并将其添加到摄取素材的日志中。目前,我的代码如下所示:#!/bin/sh##VIDSTAT is a global variable coming from a parent script.##proj ...
2024-01-10
如何自我dlopen可执行二进制文件
我为dlopen编写了一个程序void hello(){printf("hello world\n");}int main(int argc, char **argv){char *buf="hello";void *hndl = dlopen(argv[0], RTLD_LAZY);void (*fptr)(void) = dlsym(hndl, buf);if (fptr != NULL)fptr();dlclose(hndl);}但我收到“分段错误”错误,我使用.so库测试了该程序,它可以工作,但无法...
2024-01-10
如何获得C#中当前可执行文件的名称?
我想获取当前正在运行的程序的名称,即该程序的可执行名称。在C / C ++中,您可以从获得它args[0]。回答:System.AppDomain.CurrentDomain.FriendlyName...
2024-01-10
从编译的可执行文件中获取编译器选项?
有没有办法查看在*nix中使用了哪些编译器和标志来创建可执行文件?我已经编译了一个旧版本的代码,我想看看它是经过优化还是未经优化而编译的。Google并没有太大的帮助,但是我不确定我使用的关键字是否正确。回答:gcc -frecord-gcc-switches为此提供了一个选项: -frecord-gcc-switches This switch ca...
2024-01-10
如何从我的库中调用可执行文件中的函数?
我有一个可执行文件和一个动态库(.so)。该库会导出一些符号,并且可执行文件会成功调用它。但是我想使库调用可执行文件的功能成为可能。我试图在可执行文件中执行以下操作://testextern "C" void print(const char * str) { std::cout << str << std::endl;}和这个在图书馆:extern "C" void print(const char *);但是...
2024-01-10
Dockerfile为可执行文件构建图像
Docker技术新增功能,我正在尝试为.exe文件构建和映像以及容器。Dockerfile为可执行文件构建图像我的团队已经在Windows上的visual studio中创建了一个exe文件来执行作业。现在我需要编写一个dockerfile来创建一个图像和容器。所以,当我开始我的容器时,工作必须运行。这是我dockerfile是什么样子:FROM microso...
2024-01-10
强制GNU链接器生成32位ELF可执行文件
嗨,我目前正在为我正在编写的编译器生成x86程序集,并且在将文件链接到我的64位VM(程序集代码为32位)时遇到一些麻烦。我可以使用以下命令很好地汇编目标文件:as --32 mult.S -o mult.o但我似乎找不到任何ld使它生成32位ELF文件的选项:ld <some-option?> mult.o -o mult任何帮助都会很棒。回答:ld <some-...
2024-01-10
如何使用C#执行.SQL脚本文件
我确定这个问题已经回答了,但是我无法使用搜索工具找到答案。使用C#,我想运行一个.sql文件。sql文件包含多个sql语句,其中一些语句分成多行。我尝试读取文件,并尝试使用ODP.NET执行文件…但是,我认为ExecuteNonQuery并非真正旨在做到这一点。因此,我尝试通过产生一个进程来使用sqlplus…但是,...
2024-01-10
3您可以使用自定义榛子规则来自动执行文件管理
它但你没有如果你什么是Hazel?Hazel是一个macOS应用程序,为一些相当高级的脚本功能提供了一个易于使用的图形界面。它的功能相当简单虽然逻辑很简单,但您可以将一大堆复杂的功能链接在一起,以制作复杂的程序,然后将其设置为运行设置HazelHazel易于安装。在你之后点击图标打开首选项窗格,...
2024-01-10
在命令提示符下编译/执行C#源文件
如何从命令提示符窗口编译和执行.cs文件?回答:CSC.exe是.NET Framework中包含的CSharp编译器,可用于在命令提示符下进行编译。如果使用“ /target:exe”,则输出可以是可执行文件“ .exe”,也可以是DLL。如果您使用/ target:library,则会在.NETFramework目录中找到CSC.exe,例如.NET 3.5 、c:\windows\Microsoft.NET\Fram...
2024-01-10
对一个命令使用不同的PHP版本CLI可执行文件
所以我安装了三个PHP版本的Gentoo盒(不要介意原因):/usr/bin/php -> /usr/lib64/php5.4/bin/php/usr/bin/php5.5 -> /usr/lib64/php5.5/bin/php/usr/bin/php5.6 -> /usr/lib64/php5.4/bin/php我想使用作曲家安装Laravel框架:$ composer create-project laravel/laravel --prefer-dist但是,这会引发错误,因为Laravel需要PH...
2024-01-10
如何设置cron作业以每小时运行一次可执行文件?
我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件。我以root用户身份登录并输入 crontab -e然后我输入以下内容并保存文件。0 * * * * /path_to_executable但是,cron作业不起作用。我看到当我输入/...path_to_executable文字时会遇到细分错误。我只能从可执行文件所在的文件夹中执行该可执行文...
2024-01-10
退出Jess条件的执行条件
我正在阅读Jess中的几个用户输入。规则是:退出Jess条件的执行条件(defrule specify-input ?act <- (Actuator (name 0) (inputVoltage ?v1&0)) => (printout t "Please specify input voltage of the actuator. [V] " crlf) (modify ?act (inputVoltage (read))) (printout t "Please...
2024-01-10
链接到可执行文件时,如何强制将目标文件包含在静态库中?
我有一个C++项目,由于其目录结构被设置为静态库A,因此链接到共享库中B,而共享库又链接到可执行文件中C。(这是使用CMake的一个跨平台的项目,所以在Windows上我们得到的A.lib,B.dll和C.exe,和在Linux上我们得到的libA.a,libB.so和C)。图书馆A有一个初始化函数(A_init在定义A/initA.cpp),即从库调用B的...
2024-01-10
HDF5可以执行“值映射”吗?
如果我有一个64位整数的32^3数组,但它只包含十几个不同的值,您能告诉HDF5使用“内部映射”来节省内存和/或磁盘空间吗?我的意思是数组通常会以64位整数访问,但是每个值都会在内部作为一个字节(?)索引存储在一个64位整数表中,可能会节省大约7/8的内存和/或磁盘空间。如果这是可能的,它...
2024-01-10
自动命令执行只有一次后,许多文件保存(:WA)
我已经在我的插件自动命令的BufWritePost里。 (我更新标签在此自动命令,这是插件Indexer.tar.gz整个项目)自动命令执行只有一次后,许多文件保存(:WA)有时候我需要保存多个文件(我愿意“:WA”)。当然,我的autocmd被称为每个文件。我想使它打电话只是毕竟filesaves。比方说,如果我有20个未保存...
2024-01-10
您无法在Mac上剪切和粘贴文件,请执行以下操作
您是一名前 Windows 用户,正在尝试了解如何在 Mac 上剪切和粘贴文件吗?事实上,macOS 没有“剪切和粘贴”功能。相反,Apple 使用“移动”来永久更改文件的位置。虽然 Windows 上的大多数快捷方式在 macOS 中相似,但使用Command + X不会在 Finder 中为您移动文件;该快捷方式仅适用于文本。我们将向您展示如何通过移动这些文件来“剪切和粘贴”它们。使用...
2024-02-11
带有GCC的C / C ++:将资源文件静态添加到可执行文件/库
有人知道如何使用GCC将任何资源文件静态地直接编译到可执行文件或共享库文件中吗?例如,我想要添加永不更改的图像文件(如果更改,则无论如何我都必须替换该文件),并且不希望它们位于文件系统中。如果这是可能的(我认为是因为Windows的Visual C++也可以这样做),如何加载存储在自己的二...
2024-01-10
