在运行时用c++创建dll

Create dll on runtime in c++

本文关键字:创建 dll c++ 运行时      更新时间:2023-10-16

Im使用代码块和c++。

当我在大型项目中工作时,我遇到的问题是很多代码都花在了创建接口上。这需要大量的时间和大量的bug修复。

我想创建一个程序,让我编辑未来项目中的c++代码。让我们称之为A。A将能够通过修改c++代码为我的项目创建一个接口。现在,在运行时,当A创建一个新项目时,它会创建其cpp文件和dll文件。例如,当A添加一个按钮时,它将更改其c++并将结果保存在dll中。然后,当我决定我的项目结束时,我想把dll变成一个exe。我尽力用寥寥数语解释事情。希望你明白的想法

我知道你可以通过点击新项目手动创建dll,然后选择动态链接库,但在运行时可以创建dll吗?基本上是这样的:

#include <iostream>
using namespace std;
int main()
{
const char* str=
"
///c++ code
for(i=0;i<5;i++)
if(i%2==0)
cout<<i;
"
const char* path="dllName.dll";
f(str,path);
return 0;
}

str是一个数组,我在其中存储一些正确的c++代码f函数是我需要你给出的答案。

我是这个话题的新手(dll文件,所以如果我问了一些愚蠢和明显的问题,我道歉)

您可以将str的内容写入一个临时文件,并让您的程序使用该文件作为输入来执行编译器。

将源代码生成到文件中,然后调用编译器作为外部进程来编译cpp文件。

{
ofstream f("hello.cpp");
f << "your hello world code";
}
system("msvc.exe hello.cpp -some_dll_make_command hello.dll");

C++程序无法在运行时编译代码。你能做的最好的事情就是要求你的程序调用编译器,然后编译器会创建你的dll。

检出LoadLibraryFreeLibraryGetProcAddress。我假设您想要的是在运行时动态加载/卸载dll。