在Windows命令行中使用vs2005提供的编译、链接等工具对源程序进行处理

 

O、准备工作

      在Windows平台使用命令行,与其他操作系统如UNIX/LINUX等,主要区别在于命令名称,选项、参数书写习惯,文件路径查找方式

等,而它们工作的基本思路确没什么太大的不同。

 

      设置环境变量

      对于程序员来讲,主要是设置INCLUDE、LIB和PATH这三个环境变量。有一个比较不费力气的方法,就是直接在命令行中执行visual

studio所提供的设置环境变量的脚本,对于C/C++程序设计,设置环境变量的脚本是vcvars.bat。但这种做法有不足之处,每次启动命令

行都需要重新执行这个脚本。

      还有一种做法,就是完全手工地设置它们。这样可以让操作者切实地体会一下开发基于命令行的应用程序,将不仅是编程加上点击一下

鼠标那么简单。

 


     

一、编译、链接

      做为最简单的例子,假设只有一个源文件Main.cpp,它不执行任何动作:

 

  1. /* 
  2.  * Main.cpp 
  3.  * 此代码是为了熟悉在windows平台以命令行方式处理源代码程序的操作 
  4.  * 而写,不具有任何实用价值。这段代码,有点头重脚轻的感觉。 
  5.  */  
  6. #include <windows.h>   
  7.   
  8. int WINAPI WinMain(  
  9.         HINSTANCE hInstance,  
  10.         HINSTANCE hPrevInstance,  
  11.         LPSTR     szCmdLine,  
  12.         int       nCmdShow )  
  13. {  
  14.         return 0;  
  15. }  

      对Main.cpp进行编译、链接生成可执行程序的命令是cl  Main.cpp,这将产生Main.obj和Main.exe,它们分别是编译和链接阶段的产

物。如果要将这两个阶段分开来进行,那么可以分别使用"cl /c Main.cpp" 和"link Main.obj"进行编译和链接,它们最终的效果是一样的。

    

      陷阱:对于习惯了使用可视化编程工具的程序员来讲,如果按照上面所说的来做,可能会发现根本无法工作。这个示例程序没有调用

任何库函数,因此在链接阶段它不需要任何额外的工作。但如果在程序中添加下面这行代码:

  1. MessageBox( NULL, L"Hello windows", L"Hello", MB_OK );  

那么,编译将无法顺利进行,它会提示缺少某些库。这是因为MessageBox不是C或C++标准库里的函数,它是微软提供的。因此要使用

它,必需在链接时明确指定用了哪个库。

      在这种情况下,只进行编译的命令不需要变。进行链接时,则需要指定用到的库的名字,命令为:link Main.obj user32.lib,

它将产生可执行程序Main.exe。也可以直接用cl命令一次性地编译出可执行程序Main.exe:cl Main.cpp user32.lib。

      如果在一开始连环境变量也没有设定,那么,编译和链接的命令还需要做进一步的改动,那就是在命令中指定使用到的头文件、库文件所

在的路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书详细介绍了异构网络环境不同的操作系统, Samba发展的历史和现状,分析了Samba工具使用,以及与Windows域系统和文件系统相关的问题。另外还讨论了Samba的安装、用户界面、安全机制、域名空间和故障调试及诊断。本书的配套光盘提供了在异构网络环境使用Windows 2000的所有工具。本书文字流畅,结构清晰,既可以作为初学者了解Samba的入门教材,也可以作为系统管理员和网络管理员使用Samba的参考书。 目 录 译者序 前言 第一部分 概述和系统规划 第1章 UNIX和Windows网络互连 1 1.1 系统规划 4 1.1.1 桌面客户议题 5 1.1.2 企业计算问题 5 1.1.3 域和Realms 5 1.1.4 口令 6 1.2 使用Samba共享资源 6 第2章 UNIX概述 7 2.1 服务和守护进程 7 2.2 init进程 9 2.3 网络互连 9 2.4 TCP/IP 9 2.5 寻址 10 2.6 域名服务 10 2.7 inetd 12 2.8 文件系统 14 2.9 目录结构 15 2.10 文件接口 16 2.11 NFS 17 2.12 打印 18 2.13 访问控制 18 2.13.1 口令 18 2.13.2 组 19 2.14 网络信息服务 19 2.15 Kerberos 20 2.16 小结 21 第3章 Windows概述 23 3.1 Windows NT体系结构 23 3.2 网络互连 24 3.2.1 NetBIOS 24 3.2.2 NetBT 24 3.2.3 域名服务 25 3.3 服务器消息块 27 3.4 通用Internet文件系统 28 3.5 对等网、工作组、域和森林 29 3.5.1 工作组 29 3.5.2 域 30 3.5.3 信任 30 3.5.4 域模型 30 3.5.5 树和森林 31 3.6 浏览 32 3.7 文件系统 33 3.7.1 FAT 33 3.7.2 NTFS 33 3.7.3 DFS 33 3.8 打印 34 3.9 访问控制 34 3.10 Kerberos 35 3.11 小结 35 第4章 Samba概述 37 4.1 Samba历史 37 4.2 发展 38 4.3 许可证 39 4.4 Open Source Initiative 39 4.5 GNU通用公共许可证 40 4.6 Samba可以为你做什么 41 4.7 未来的发展 41 4.8 小结 42 第二部分 安装与配置 第5章 Samba安装 43 5.1 安装和升级 43 5.2 发布 44 5.3 二进制和源代码 47 5.4 CVS 48 5.5 版本 48 5.6 编译Samba 49 5.7 完成安装 50 5.8 操作 51 5.9 小结 52 第6章 Samba配置—Smb.conf 54 6.1 定制smb.conf文件 54 6.2 语法和语义 54 6.3 SWAT 55 6.4 变量和文件替换 56 6.5 自动运行 58 6.6 global节 58 6.7 shares节 62 6.8 安全和访问控制 65 6.9 小结 67 第7章 Samba认证 68 7.1 认证机制 68 7.1.1 通过IP地址认证 68 7.1.2 认证级别 68 7.1.3 用户名 70 7.1.4 用户名映射 70 7.1.5 口令 71 7.1.6 纯文本口令 71 7.1.7 加密口令 72 7.1.8 Smbpasswd命令 73 7.1.9 将纯文本口令转换为加密口令 73 7.1.10 口令同步 74 7.1.11 域认证 75 7.2 其他认证方式 76 7.3 小结 77 第8章 域名服务 79 8.1 NetBIOS域名 79 8.2 Samba域名服务 81 8.3 LMHOSTS 82 8.4 WINS 82 8.4.1 WINS客户机 83 8.4.2 WINS服务器 83 8.4.3 WINS代理 83 8.4.4 WINS DNS代理 83 8.5 LMHOSTS和WINS 84 8.6 Windows 2000域名服务 84 8.7 小结 84 第9章 浏览 86 9.1 竞选 86 9.2 Samba和浏览 87 9.3 浏览器配置 88 9.4 浏览器客户 89 9.5 本地主浏览器 89 9.6 域主浏览器和跨子网浏览 90 9.7 混合子网浏览 91 9.8 LAN Manager浏览 92 9.9 问题 93 9.10 小结 93 第10章 域 95 10.1 域和工作组比较 95 10.2 Samba和域 95 10.3 域客户 96 10.4 域控制器 97 10.5 登录脚本 98 10.6 漫游设置文件 99 10.7 系统策略 100 10.8 Windows客户设置 101 10.9 主域控制器 102 10.10 获得源代码 103 10.11 配置 103 10.12 Windows 2000 104 10.13 小结 104 第11章 共享文件 106 11.1 文件共享 106 11.2 Homes共享 106 11.3 访问控制 107 11.4 浏览权 108 11.5 主机访问 108 11.6 用户和组访问 109 11.7 特权和许可 109 11.8 隐藏文件和目录 111 11.9 DOS和Windows文件属性 112 11.10 文件名修改 112 11.11 CRLF/LF转换 114 11.12 锁 114 11.13 符号链接 115 11.14 负载限制 116 11.15 小结 116 第12章 打印共享 117 12.1 全局打印参数 117 12.2 打印共享 117 12.3 [printers]共享节 118 12.4 共享级参数 118 12.5 Print Command 119 12.6 命令参数脚本 119 12.7 Windows客户的设置 120 12.8 Windows 9x驱动程序 121 12.9 Windows打印机 122 12.10 调试打印共享 123 12.11 小结 124 第三部分 使用Samba客户机 第13章 Samba客户机 127 13.1 UNIX客户 127 13.1.1 smbclient 127 13.1.2 smbclient选项 128 13.1.3 smbclient交互模式命令 129 13.1.4 smbwrapper 131 13.1.5 smbprint 132 13.2 Windows 9x和Windows NT 132 13.3 DOS和Windows 3.x客户 134 13.4 OS/2 135 13.5 Macintosh 136 13.6 小结 136 第14章 管理工具 138 14.1 命令行工具 138 14.2 Web工具 139 14.3 Windows工具 141 14.4 其他工具 143 14.5 小结 143 第15章 故障调试和诊断 144 15.1 侦测Samba 144 15.2 网络连接 145 15.3 运行守护进程 146 15.4 配置文件 149 15.5 共享 151 15.6 日志记录 153 15.7 帮助 154 15.8 小结 155 第四部分 附 录 附录A GUI Old Samba工具和客户 157 附录B Samba命令和工具实例 158 附录C Samba 2.0.5a smb.conf.default 160

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值