gpt4 book ai didi

c - 错误未定义对 'WinMain@16' 的引用

转载 作者:行者123 更新时间:2023-11-30 16:58:40 25 4
gpt4 key购买 nike

可以编写没有 main() 函数的程序吗?

我已经编写了这段代码并将文件名保存为withoutmain.c并收到错误为

undefined reference to 'WinMain@16'"

我的代码

 #include<stdio.h>
#include<windows.h>
extern void _exit(register int code);
_start(){
int retval;
retval=myFunc();
_exit(retval);
}
int myFunc(void){
printf("Hiii Pratishtha");
return 0;
}

请向我提供此问题的解决方案以及代码的正确内存构造以及该程序的编译器端发生的情况。谢谢!

最佳答案

Can a program be written without main() function?

是的,可以有一个没有 main 函数的 C 程序。我建议两种解决方案......

1) 使用定义 main 的宏

#include<stdio.h>
#include<windows.h>
#define _start main
extern void _exit(register int code);

int myFunc(void){
printf("Hiii Pratishtha");
return 0;
}

int _start(){
int retval;
retval=myFunc();
_exit(retval);
}

2) Using Entry Point (Assuming you are using visual studio)

在 Visual Studio 开发环境中设置此链接器选项

/ENTRY:function

为 .exe 文件或 DLL 指定用户定义的起始地址的函数。

  1. 打开项目的属性页对话框。详细信息请参见设置 Visual C++ 项目属性。
  2. L单击“链接器”文件夹。
  3. 点击“高级属性”页面。
  4. 修改入口点属性。

如果您使用的是gcc,则

-Wl,-e_start

-Wl,... 事物将参数传递给链接器,链接器采用 -e 参数来设置入口函数

关于c - 错误未定义对 'WinMain@16' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38653375/

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