#include <stdio.h>
#define decode(s,t,u,m,p,e,d) m##s##u##t
#define begin decode(a,n,i,m,a,t,e)
int begin()
{
printf("Ha HA see how it is?? ");
}
Run Code Online (Sandbox Code Playgroud)
这间接打电话main吗?怎么样?
这三个函数之间有什么区别以及何时使用它们?
如果这是一个基本或愚蠢的问题,我道歉.char*和之间有什么区别LPSTR.其中sizeof既给出了我的编译器4个字节.有人可以详细解释我.谢谢..
我尝试了各种创建Go程序的方法,只显示一个MessageBox或一个独立的GUI窗口.如果我用C/C++编写这个,我只想定义一个WinMain,省略主要,我会很高兴.在我看来,只要我定义一个main函数,就会自动创建一个控制台窗口.主要功能是强制性的.
package main
func main() {
...
}
Run Code Online (Sandbox Code Playgroud)
为了避免这种情况,我尝试了一个创建WinMain 的示例
func WinMain(wproc uintptr) {
hInstance := GetModuleHandle(nil)
...
}
Run Code Online (Sandbox Code Playgroud)
I'm fairly new to C++, but have done some .NET programming before.
What is the difference between main(...) and WinMain(...), I wrote a program earlier with main(...) and was able to call Win32 functions just fine like I am with WinMain(...), so this leads me to ask "where would it be best to use one over the other, or does it even make a difference?"
整个错误输出是:
LNK2019 unresolved external symbol wWinMain referenced in function "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) kachna-tracker C:\dev\kachna-tracker\MSVCRT.lib(exe_wwinmain.obj)
Run Code Online (Sandbox Code Playgroud)
这是从Qt Creator导入的项目,只有在我尝试构建Release版本时才会出现此错误,Debug版本运行得很好.据我所知,除了使用库的调试版本(例如qtmain.lib/ qtmaind.lib)之外,Debug和Release配置之间的链接器配置没有区别.
我发现这个错误可以固定由子系统设置/SUBSYSTEM:CONSOLE,而不是/SUBSYSTEM:WINDOWS,这确实不解决这个问题,但我建立一个GUI应用程序,一个永久打开控制台窗口是相当难看,也可能只修复了症状而不是原因.
如何解决这个错误?
正如微软自己解释的那样,控制台程序使用main(),但非控制台Win32程序WinMain()用作入口点.实际上,main()在Visual Studio中的Win32项目中使用将导致链接器错误.
但是在Qt项目中,无论是从Qt Creator还是Visual Studio创建的,GUI程序都main()像控制台程序一样使用.Qt人如何设法做到这一点?
c++ ×4
windows ×3
c ×2
qt ×2
winapi ×2
entry-point ×1
go ×1
obfuscation ×1
visual-c++ ×1
winmain ×1