以是任何命令列动作,本例为 。
因此,我们就可以把不同文件间的依存关系做一个整理,以makefile 语法描述,以产生
makefile NMAKE。EXE Microsoft MAKE。EXE
必要的编译、联结动作。 必须以 ( 工具)或
Borland MAKE。EXE
( 工具)处理之,或其它编译器套件所附的同等工具(可能也叫做 )
处理之。
9
…………………………………………………………Page 72……………………………………………………………
Generic。mak (请在DOS 窗口中执行nmake generic。mak。环境设定请参考p。224)
#0001 # filename : generic。mak
#0002 # make file for generic。exe (Generic Windows Application)
#0003 # usage : nmake generic。mak (Microsoft C/C++ 9。00) (Visual C++ 2。x)
#0004 # usage : nmake generic。mak (Microsoft C/C++ 10。00) (Visual C++ 4。0)
#0005
#0006 all: generic。exe
#0007
#0008 generic。res : generic。rc generic。h
#0009 rc generic。rc
#0010
#0011 generic。obj : generic。c generic。h
#0012 cl …c …W3 …Gz …D_X86_ …DWIN32 generic。c
#0013
#0014 generic。exe : generic。obj generic。res
#0015 link /MACHINE:I386 …subsystem:windows generic。res generic。obj
#0016 libc。lib kernel32。lib user32。lib gdi32。lib
Generic。h
#0001 //……………………………………………………………………………………………………………………………………………………………………
#0002 // 档名 : generic。h
#0003 //……………………………………………………………………………………………………………………………………………………………………
#0004 BOOL InitApplication(HANDLE);
#0005 BOOL InitInstance(HANDLE; int);
#0006 LRESULT CALLBACK WndProc(HWND; UINT; WPARAM; LPARAM);
#0007 LRESULT CALLBACK About(HWND; UINT; WPARAM; LPARAM);
Generic。c (粗体代表Windows API 函数或宏)
#0001 //……………………………………………………………………………………………………………………………………………………………………
#0002 // Generic Win32 程序的基础写法
#0003 // Top Studio * J。J。Hou
#0004 // 档名 : generic。c
#0005 // 作者 : 侯俊杰
#0006 // 编译联结 : 请参考generic。mak
#0007 //……………………………………………………………………………………………………………………………………………………………………
#0008
#0009 #include // 每一个 Windows 程序都需要包含此档
#0010 #include 〃resource。h〃 // 內含各个 resource IDs
#0011 #include 〃generic。h〃 // 本程序之含入档
#0012
#0013 HINSTANCE _hInst; // Instance handle
#0014 HWND _hWnd;
10
…………………………………………………………Page 73……………………………………………………………
#0015
#0016 char _szAppName'' = 〃Generic〃; //
程序名称
#0017 char _szTitle'' = 〃Generic Sample Application〃; //
窗口标题
#0018
#0019 //……………………………………………………………………………………………………………………………………………………………………
#0020 // WinMain 程序进入点
#0021 //……………………………………………………………………………………………………………………………………………………………………
#0022 int CALLBACK WinMain (HINSTANCE hInstance; HINSTANCE hPrevInstance;
#0023 LPSTR lpCmdLine; int nCmdShow)
#0024 {
#0025 MSG msg;
#0026
#0027 UNREFERENCED_PARAMETER (lpCmdLine); //
避免编译时的警告
#0028
#0029 if (!hPrevInstance)
#0030 if (!InitApplication(hInstance))
#0031 return (FALSE);
#0032
#0033 if (!InitInstance(hInstance; nCmdShow))
#0034 return (FALSE);
#0035
#0036 while (GetMessage (&msg; NULL; 0; 0)) {
#0037 TranslateMessage (&msg);
#0038 DispatchMessage (&msg);
#0039 }
#0040
#0041 return (msg。wParam); //
传回 PostQuitMessage
的参数
#0042 }
#0043 //……………………………………………………………………………………………………………………………………………………………………
#0044 // InitApplication
注册窗口类别
#0045 //……………………………………………………………………………………………………………………………………………………………………
#0046 BOOL InitApplication(HINSTANCE hInstance)
#0047 {
#0048 WNDCLASS wc;
#0049
#0050 wc。style = CS_HREDRAW | CS_VREDRAW;
#0051 wc。lpfnWndProc = (WNDPROC)WndProc; //窗口函数
#0052 wc。cbClsExtra = 0;
#0053 wc。cbWndExtra = 0;
#0054 wc。hInstance = hInstance;
#0055 wc。hIcon = LoadIcon(hInstance; 〃jjhouricon〃);
#0056 wc。hCursor = LoadCursor(NULL; IDC_ARROW);
#0057 wc。hbrBackground = GetStockObject(WHITE_BRUSH); // 窗口背景颜色
#0058 wc。lpszMenuName = 〃GenericMenu〃; // 。RC
所定义的菜单
#0059 wc。lpszClassName = _szAppName;
#0060
11
…………………………………………………………Page 74……………………………………………………………
#0061 return (RegisterClass (&wc));
#0062 }
#0063 //……………………………………………………………………………………………………………………………………………………………………
#0064 // InitInstance
产生窗口
#0065 //……………………………………………………………………………………………………………………………………………………………………
#0066 BO
小说推荐
- Java编程思想第4版[中文版](PDF格式)
- -Page 1-Page 2《Thinking In Java》中文版作者:Bruce Eckel主页:http/BruceEckel.编译:Trans Bot主页:http/memberease~transbot致谢-献给那些直到现在仍在孜孜不倦创造下一代计算机语言的人们!指导您利用万维网的语言进
- 其他
- 最新章:第295章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 其他
- 最新章:第37章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- 深入浅出
- 《深入浅出》作者:白小骨晋江VIP20140610完结+1番外非V章节总点击数:67370 总书评数:209 当前被收藏数:764 文章积分:11,386,657文案:每个前男友都是女人掉过的坑,从何典阳这个坑里往外爬的梁温暖一脸血表示,何典阳他这个深坑实在太坑爹。何典阳:我是坑?梁温暖…别看我,我
- 激情
- 最新章:第74章
- 深入浅出[娱乐圈]
- 文案【忠犬影帝攻X傲娇明星受,1V1轻松甜文,前期互相试探,38章在一起后甜甜甜,两人都有细微的变化和成长~这也是我用心构思攻受感情发展的文,但数据有点太惨了,没入V可以全文免费看,还是想求点收藏呀,数据好看点吧,让我开心一下(笑哭.jpg)流量偶像白漾和影帝顾瑜祁关系很僵,传言两人出道时不合而互相
- 激情
- 最新章:第59章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章