gpt4 book ai didi

c++ - 使用 argv[] 调用类似 main 的函数

转载 作者:行者123 更新时间:2023-11-28 01:10:42 25 4
gpt4 key购买 nike

我这里有一些代码可以调用 minizip(),这是一个 minizip 程序的脏样板,重命名为 main(),但是当我编译时,我得到了对 `minizip(int, char**)* 的 undefined reference 。这是代码。

int minizip(int argc, char* argv[]);

void zipFiles(void)
{
char arg0[] = "BBG";
char arg1[] = "-0";
char arg2[] = "out.zip";
char arg3[] = "server.cs";

char* argv[] = {&arg0[0], &arg1[0], &arg2[0], &arg3[0], 0};

int argc = (int)(sizeof(argv) / sizeof(argv[0])) - 1;

minizip(argc, argv);
}

int minizip(argc,argv)
int argc;
char *argv[];
{
...
}

最佳答案

所有这些代码都在同一个文件中吗?如果不是,并且如果调用者是 C++ 代码并且 minizip 是 C 代码,则调用者可能需要 extern "C" 中的 minizip 声明 block 以指示它将调用 C 函数,因此需要 C 链接。

(此外,不要重新输入错误消息。复制并粘贴它们以确保它们准确无误。在这种情况下,编译器很可能报告了对 minizip(int, char**).)

关于c++ - 使用 argv[] 调用类似 main 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com