02.编译链接
C:\Program Files\Microsoft Visual Studio\VC98\Bin
CL.EXE是编译器外壳
C1.DLL,C1XX.DLL,C2.DLL是真正干活的
LINK.EXE是链接器
C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;
C:\Program Files\Microsoft Visual Studio\Common\Tools;
C:\Program Files\Microsoft Visual Studio\VC98\bin
环境变量中的PATH有vc6.0编译器所在的文件夹路径
虚拟机打开cmd,输入link,有相关信息,安装了vs2019的win10则没有,要自己设置环境变量
cl /c /W4 /WX hello.c
只编译 警告等级4 警告视为错误 文件名
cl /c /P hello.c 会产生.i文件,可以查看预处理结果
VC++编译选项详解:
https://blog.csdn.net/ww51xh/article/details/601768
.obj COFF格式,可以跨语言
Win: PE格式
Linux: ELF格式
命令行里可以省略.ex后缀
新建bat文件,里面可以写生:
del *obj
del *exe
cl /c /W4 /WX hello.c
link hello.obj
hello.exe
pause
#include <stdio.h>尖括号代表先找环境变量,按环境变量里以分号分隔的路径依次找,找到就停止,没找到就找源码所在目录。
#include ”stdio.h”双引号代表优先找源码所在目录,没找到就继续找环境变量。
#include “name”也可出现在函数中,把该文件里的文本都复制粘贴进来
mainCRTStartup 在\VC98\CRT\SRC\CRT0.C文件里
用户的2G内存空间,前后64KB的内存不予分配。前64KB检测空指针,后64KB用内核交互
变量初始化尽量赋值,否则里面留下垃圾值,可能无意中修改了垃圾值对应地址里的数据。