将exe转换为DLL - 手动调用main函数

时间:2012-05-03 05:44:26

标签: c++ command-line-arguments

我正在尝试将exe转换为dll,并在我的C ++程序中手动调用DLL中的main函数。

此exe代码中的main函数(从另一个C ++程序生成)如下所示:

int main(int argc, char* argv[])

现在,在我的C ++程序中,我之前将命令行参数传递给此exe,如下所示:
system(somexe test.txt test1.txt test2.txt);

int argcargv array会自动传递给exe程序。但是,如果我必须手动调用此函数,我不确定如何传递上述参数。我是否必须每次使用这些参数手动生成数组,还手动传递此数组中的元素数量?

2 个答案:

答案 0 :(得分:1)

只需创建一个字符串数组并传递给main.int argc表示数组中的字符串数字。 argv存储字符串数组。 例如:     int argc = 3;     char * argv [3] = {“argc1”,“argc2”,“argc3”};     主(的argc,argv的);

答案 1 :(得分:0)

你知道printf的功能吗?你也可以这样做。

int doit(int n1, ...)
{
    va_list arg_ptr;
    int n = n1;
    va_start(arg_ptr, n1);

    while (n > 0)
    {
         va_arg(arg_ptr, int);
    }

    va_end(arg_ptr);
}