20011010wo 发表于 2017-2-6 17:07:00
#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
MessageBoxA(0, "hello, world", " " ,MB_ICONINFORMATION|MB_OK);
return 0;
}
将文件保存至demo1.cpp文件,然后打开VS的开发人员命令提示符,输入:
cl demo1.cpp /link kernel32.lib gdi32.lib user32.lib
然后执行demo1.exe——恭喜,你制作完成了一个windows版的hello, world!
Hashimoto 发表于 2017-2-7 01:11:33
代码是什么意思呢?可否从头讲起编程?
20011010wo 发表于 2017-2-7 08:51:41
Hashimoto 发表于 2017-2-7 01:11
代码是什么意思呢?可否从头讲起编程?
从头讲起有点多
Hashimoto 发表于 2017-2-9 01:16:13
viploser 发表于 2017-2-12 00:58:58
我觉得应该说明一下语言吧
个人喜欢c 纯c 但其实并不好用
c的话源码
- #include <stdio.h>
int main()
{
printf("Hello World!\n");
}
当然 如果你喜欢 也可以写成这个样子
- #include<stdio.h>
main(){
int x=0,y[14],*z=&y;
*(z++)=0x48;
*(z++)=y[x++]+0x1D;
*(z++)=y[x++]+0x07;
*(z++)=y[x++]+0x00;
*(z++)=y[x++]+0x03;
*(z++)=y[x++]-0x43;
*(z++)=y[x++]-0x0C;
*(z++)=y[x++]+0x57;
*(z++)=y[x++]-0x08;
*(z++)=y[x++]+0x03;
*(z++)=y[x++]-0x06;
*(z++)=y[x++]-0x08;
*(z++)=y[x++]-0x43;
*(z++)=y[x]-0x21;
x=*(--z);
while(y[x]!=NULL)
putchar(y[x++]);
}
这个样子
- int n[]={0x48, 0x65,0x6C,0x6C, 0x6F,0x2C,0x20, 0x77,0x6F,0x72, 0x6C,0x64,0x21, 0x0A,0x00},*m=n;
main(n)
{putchar (*m)!='\0'?main (m++):exit(n++);}
后两段一样的
20011010wo 发表于 2017-2-12 09:53:37
viploser 发表于 2017-2-12 00:58
我觉得应该说明一下语言吧
个人喜欢c 纯c 但其实并不好用
其实我说的是Windows程序。你看我的入口点是winmain