我正在使用codeblocks和c ++。
我在大型项目上工作时遇到的问题是很多代码都是创建界面的。这需要花费大量时间和大量修复错误。
我想创建一个程序,让我可以编辑未来项目中的c ++代码。让我们称之为A. A将能够通过修改c ++代码为我的项目创建一个接口。现在,在A创建新项目的运行时,它会创建其cpp文件及其dll文件。当A添加一个例子按钮时,它会改变它的c ++并将结果保存在dll上。然后当我决定我的项目完成时,我想将该DLL转换为exe。我尽力用几句话来解释事情。希望你明白这个想法
我知道您可以通过单击新项目手动创建一个DLL,然后选择Dynamic Link Libraby,但是可以在运行时创建一个dll吗?基本上是这样的:
for (i = 0; i < strlen(argv[0]); i++)
....
for (n = 0; n < strlen(argv[1]); n++)
{
printstringasbinary(argv[1][n]);
}
str是一个数组,其中我存储了一些正确的c ++代码 f函数是我需要的答案。
我是这个主题的新手(dll文件,所以如果我问了一些愚蠢而明显的我道歉)
答案 0 :(得分:3)
C ++程序无法在运行时编译代码。您可以做的最好的事情是要求程序调用编译器,然后编译器将创建您的dll。
答案 1 :(得分:3)
您可以将str的内容写入临时文件,并让程序使用此文件作为输入执行编译器。
答案 2 :(得分:2)
将源代码生成到文件中,然后将编译器作为外部进程调用以编译cpp文件。
inp.onchange = function(){
source.src = URL.createObjectURL(inp.files[0]);
vid.load();
// even if it's just a pointer to the real file here
vid.onended = function(){
URL.revokeObjectURL(vid.currentSrc);
};
}
答案 3 :(得分:0)
结帐LoadLibrary
,FreeLibrary
和GetProcAddress
。我假设你想要的是在运行时动态加载/卸载dll。