gpt4 book ai didi

c - 对主要问题的 undefined reference

转载 作者:行者123 更新时间:2023-12-04 10:42:51 29 4
gpt4 key购买 nike

我已经编写了一个名为“utilfunc.c”的 C 代码文件,该代码包含我将在我的代码中使用的函数。

现在,当我编译我的“utilfunc.c”文件时,发生了一个错误,告诉我未定义对“main”的引用错误消息。但是在这段代码中,我不想要 main 。我想要的只是我的功能的实现。

谁能告诉我这里发生了什么?

这是我的代码:

include "prodcon.h"

static void signalHandler(int signo)
{
signalflag = 1; // Set the signal flag
}

void initializeWait(void)
{
/* Link handler functions */
if (signal(SIGUSR1, signalHandler) == SIG_ERR)
{
perror("signal");
exit(EXIT_FAILURE);
}
if (signal(SIGUSR2, signalHandler) == SIG_ERR)
{
perror("signal");
exit(EXIT_FAILURE);
}

/* Clear masks */
sigemptyset(&nomask);
sigemptyset(&newmask);

/* Add signals to mask sets */
sigaddset(&newmask, SIGUSR1);
sigaddset(&newmask, SIGUSR2);

/* Block SIGUSR1 and SIGUSR2, and save current signal mask. */
if (sigprocmask(SIG_BLOCK, &newmask, &oldmask) < 0)
{
perror("sigprocmask");
exit(EXIT_FAILURE);
}
}

void signalParent(pid_t pid)
{
kill(pid, SIGUSR2); // Child tells parent that it is done
}

void waitParent(void)
{
while (signalflag == 0)
{
sigsuspend(&nomask); // Wait for signal from parent
}

signalflag = 0; // Clear the singalflag

/* Restore the signal mask to old value */
if (sigprocmask(SIG_SETMASK, &oldmask, NULL) < 0)
{
perror("sigprocmask");

}
}

最佳答案

-c 添加到您的编译器调用中,这样您就可以只编译 翻译单元而不是将其链接到一个完整的程序:

gcc -c -o foo.o foo.c

关于c - 对主要问题的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20300293/

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