📄 tools.hsc
字号:
80
Scribble80
ITOUCH
Writing
FALSE
11
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil Arial;}{\f1\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue255;\red0\green128\blue0;\red128\green0\blue0;}
\viewkind4\uc1\pard\ri1480\cf1\b\f0\fs32 ITOUCH\cf0\b0\fs20
\par
\par \f1 ITOUCH puts the current system time on the specified files. It can be used in conjunction with IMAKE to tell it not to recompile a file, or alone just to put the current time on a file.
\par
\par The following help topics are available:
\par
\par \pard\ri1460\tx700\tab\cf2\strike Command line syntax\cf3\strike0\{linkID=220\}\cf0
\par \pard\ri1480\f0
\par }
90
Scribble90
GREP
Writing
FALSE
10
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil Arial;}{\f1\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue255;\red0\green128\blue0;\red128\green0\blue0;}
\viewkind4\uc1\pard\ri1500\cf1\b\f0\fs32 GREP\cf0\b0\fs20
\par
\par \f1 The GREP utility searches a file or a group of files for any occurance of a specified string. This particular grep program was found on the internet; it was for DOS but modified for WIN32.
\par
\par The following help topics are available:
\par
\par \pard\ri1500\tx700\tab\cf2\strike Command line syntax\cf3\strike0\{linkID=230\}\cf0\f0
\par }
110
Scribble110
CC386 Command Line
Writing
FALSE
30
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}
{\colortbl ;\red0\green0\blue255;\red0\green128\blue0;\red128\green0\blue0;}
\viewkind4\uc1\pard\ri1480\cf1\b\fs32 CC386 Command Line\cf0\b0\f1\fs20
\par
\par \f0 CC386 has a variety of command line parameters, most of which aren't needed to just compile a file. It will also allow you to specify multiple input files. The current default for CC386 is to generate executable files. Prior to processing the command line, CC386 will process \cf2\strike environment variables\cf3\strike0\{linkID=280\}\cf0 . While processing the command line, CC386 may encounter a command to process \cf2\strike command line arguments from a file\cf3\strike0\{linkID=270\}\cf0 .
\par
\par The general format of the command line is as follows:
\par
\par CC386 [parameters] list of files
\par
\par The list of files can be a list of one or more C language files. C++ language files are partially supported, but the C++ support is minimal at this time. If you don't specify an extension on the command line it will default to .C; it will detect a .CPP extension and activate C++ mode as required.
\par
\par CC386 will accept response files with a list of command line options. To use a response file, prefix its name with '@':
\par
\par CC386 [parameters] @resp.cc
\par
\par There are a variety of parameters that can be set. Help is available for the following:
\par \cf2\strike
\par \pard\ri1460\tx700\cf3\strike0\tab\cf2\strike CC386 Output Control\cf3\strike0\{linkID=235\}\cf0\tab
\par \tab\cf2\strike Warning control\cf3\strike0\{linkID=240\}\cf0
\par \tab\cf2\strike List file control\cf3\strike0\{linkID=250\}\cf0
\par \tab\cf2\strike Preprocessor file control\cf3\strike0\{linkID=260\}\cf0
\par \tab\cf2\strike Debug information\cf3\strike0\{linkID=290\}\cf0
\par \tab\cf2\strike Compilation modes\cf3\strike0\{linkID=300\}\cf0
\par \tab\cf2\strike Defining macros\cf3\strike0\{linkID=310\}\cf0
\par \tab\cf2\strike Specifying include paths\cf3\strike0\{linkID=320\}\cf0
\par \tab\cf2\strike Translating trigraphs\cf3\strike0\{linkID=330\}\cf0
\par \tab\cf2\strike Code generation parameters\cf3\strike0\{linkID=340\}\cf0
\par \tab\cf2\strike Optimizer parameters\cf3\strike0\{linkID=350\}\cf0
\par }
120
Scribble120
CC386 Extended Keywords
Writing
FALSE
36
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}
{\colortbl ;\red0\green0\blue255;\red0\green128\blue0;\red128\green0\blue0;}
\viewkind4\uc1\pard\ri1480\tx680\cf1\b\fs32 CC386 Extended Keywords\cf0\b0\f1\fs20
\par
\par \f0 CC386 supports a variety of non-ansi keywords for different types of control functions. Register names for the 32 bit registers of the x86 processor are also keywords. There is presently no support for far functions or variables.
\par
\par These keywords are as follows:
\par
\par \tab\cf2\strike _absolute\cf3\strike0\{linkID=360\}\cf0
\par \tab\cf2\strike _cdecl and cdecl\cf3\strike0\{linkID=380\}\cf0
\par \tab\cf2\strike _export\cf3\strike0\{linkID=460\}
\par \tab\cf2\strike _far\cf3\strike0\{linkID=365\}\cf0
\par \tab\cf2\strike _genbyte\cf3\strike0\{linkID=420\}\cf0\tab
\par \tab\cf2\strike _import\cf3\strike0\{linkID=400\}\cf0
\par \tab\cf2\strike _indirect\cf3\strike0\{linkID=450\}\cf0
\par \tab\cf2\strike _interrupt\cf3\strike0\{linkID=410\}
\par \tab\cf2\strike _fault\cf3\strike0\{linkID=410\}
\par \cf0\tab\cf2\strike _intrinsic\cf3\strike0\{linkID=430\}\cf0
\par \tab\cf2\strike _loadds\cf3\strike0\{linkID=440\}
\par \tab\cf2\strike _near\cf3\strike0\{linkID=365\}\cf0
\par \tab\cf2\strike _pascal\cf3\strike0\{linkID=370\}\cf0
\par \tab\cf2\strike _stdcall\cf3\strike0\{linkID=390\}
\par \tab\cf2\strike _typeof\cf3\strike0\{linkID=465\}
\par
\par \cf0 CC386 also supports names for the registers. These include:
\par
\par \tab _EAX, _EBX, ECX, EDX
\par \tab _ESP, _EBP, _ESI, _EDI
\par \tab _CS, _DS, _ES, _FS, _GS, _SS
\par
\par \tab _CR0,_CR1,_CR2,_CR3,_CR4,_CR5,_CR6,_CR7
\par \tab _DR0,_DR1,_DR2,_DR3,_DR4,_DR5,_DR6,_DR7
\par \tab _TR0,_TR1,_TR2,_TR3,_TR4,_TR5,_TR6,_TR7
\par
\par Note that the values of the registers may be changed by compiled code as part of the access to them; accesses should be kept simple if you wish to use this mechanism for accessing the registers. Further some of these registers may be set up by the operating system and should not be accessed by the programmer.\f1
\par }
130
Scribble130
CC386 #pragma directives
Writing
FALSE
18
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}
{\colortbl ;\red0\green0\blue255;\red0\green128\blue0;\red128\green0\blue0;}
\viewkind4\uc1\pard\ri1480\tx680\cf1\b\fs32 CC386 #pragma directives\cf0\b0\f1\fs20
\par
\par \f0 CC386 supports a number of extended directives which control the compilation or output files.
\par These directives are placed in the source code.
\par
\par The following directives are available:
\par
\par \tab\cf2\strike #pragma aux\cf3\strike0\{linkID=530\}\cf0
\par \tab\cf2\strike #pragma error\cf3\strike0\{linkID=470\}
\par \tab\cf2\strike #pragma farkeyword\cf3\strike0\{linkID=475\}\cf0\tab
\par \tab\cf2\strike #pragma library\cf3\strike0\{linkID=500\}\cf0
\par \tab\cf2\strike #pragma pack(n)\cf3\strike0\{linkID=510\}\cf0
\par \tab\cf2\strike #pragma rundown\cf3\strike0\{linkID=490\}
\par \cf0\tab\cf2\strike #pragma startup\cf3\strike0\{linkID=490\}\cf0
\par \tab\cf2\strike #pragma warning\cf3\strike0\{linkID=480\}\cf0\f1
\par }
140
Scribble140
NASM Command Line
Writing
FALSE
49
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1\pard\ri1460\tx2240\cf1\b\fs32 NASM Command Line\cf0\b0\f1\fs20
\par
\par \f0 The NASM assembler has a variety of command line options, most of which aren't used by CC386. The general format of a command line is as follows:
\par
\par nasm [parameters] filename
\par
\par By default nasm will output a plain binary file; it has a variety of output formats which it supports, but for CC386 we use the OBJ format. For example:
\par
\par nasm -fobj filename
\par \f1
\par \f0 The nasm command line parameters are as follows. Full discussion of the NASM programming syntax can be found in the NASM documentation.
\par
\par \pard\fi-2220\li2220\ri1440\tx2220
\par \b\fs22 -v\tab Version information
\par
\par -t\tab Assemble in SciTech TASM compatible mode
\par
\par -g\tab generate debug information
\par \tab\b0\fs20 This version of NASM will not generate debug information compatible with the CC386 ide
\par
\par \b\fs22 -e\tab preprocess only
\par
\par -a\tab skip preprocessing
\par
\par -M\tab generate makefile dependencies on stdout
\par
\par -Efile\tab redirect error messages to file
\par
\par -s\tab redirect error messages to stdout
\par \tab\b0\fs20 CCIDE selects this option\b\fs22
\par
\par -f\tab select an output format
\par \tab\b0\fs20 CCIDE selects OBJ format\b\fs22
\par
\par -Ipath\tab add a path to the include search list
\par
\par -O\tab optimize branch offsets
\par
\par -P\tab preinclude a file
\par
\par -D\tab predefine a macro
\par
\par -U\tab undefine a macro
\par
\par
\par \pard\b0\f1\fs20
\par }
150
Scribble150
VALX Command Line
Writing
FALSE
105
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil Arial;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1\pard\ri1460\cf1\b\fs32 VALX Command Line\cf0\b0\f1\fs20
\par \f0
\par The general format of a VALX command line is:
\par
\par valx [parameters] <list of object files>,<executable file>, <map file>, <list of library files>,<resource file>
\par
\par If there are less than 4 commas seperating file names, VALX, will stop and prompt the user for the remaining information. It is ok to select empty lists or filenames to force it to not prompt, for example the following is valid:
\par
\par valx myfile.obj,myfile.exe,,,
\par
\par Valx will accept response files having a list of command line arguments to process. To use a response file, just place an @ in front of a filename:
\par
\par valx @resp.lnk
\par
\par will perform the operations in resp.lnk. Response files can be mixed with other command-line parameters.
\par
\par Valx has a variety of options. In general for DOS programs with CC386 the following options are required:
\par
\par /32 /NCI
\par
\par for the PMODE/W extender. Or you can use:
\par
\par /LX /NCI
\par
\par if you want to default to the DOS32A extender.
\par
\par For windows programs the following are required:
\par
\par /32 /PE /NCI
\par
\par and either /CON or /WIN
\par
\par additionally /DEB may be used to specify the debug information.
\par
\par
\par
\par \pard\ri1440\tx700\tx2780\tx3660 Following is a list of all possible options to VALX:
\par Abbr\tab Full
\par Name\tab Name\tab\tab\tab Def\tab Description
\par ----\tab ----------------- \tab\tab ------ \tab -----------------------------------------------
\par AH\tab ALignexeheader\tab Yes \tab Align EXE header to paragraph boundary
\par BDL\tab buildDll \tab No \tab PE files will be dlls.
\par BSZ\tab BUffersize:n \tab 32768 \tab Set I/O buffersize (512 - 65,024 bytes)
\par CI\tab CAseignore \tab Yes \tab Linker will ignore the case of symbols
\par CO\tab COmfile \tab No \tab Linker will to produce a .COM file
\par CON\tab consoleSubSys \tab Yes \tab PE files will be console apps
\par \tab CParmaxalloc \tab 0xFFFF Sets max paragraphs needed beyond EXE file
\par DEB\tab Debug \tab No \tab Enable debug information
\par \tab DEtaillevel \tab 0 \tab Sets the detail included in the .MAP file:
\par \pard\ri1440\tx660\tx2760\tx3660\tx4500\tx4500 \tab\tab\tab 0 - Standard link map
\par \tab\tab\tab 1 - Include Segment header info
\par \tab\tab\tab 2 - Include Segment header info by module
\par \tab\tab\tab 3 - Include data map by module
\par \tab\tab\tab 4 - Include EXE header
\par \tab\tab\tab 5 - Include fixup info
\par \pard\ri1440\tx700\tx2780\tx3660\tab DOsseg \tab No \tab Use Microsoft "DOSSEG" segment ordering
\par \tab EXechecksum \tab No \tab Compute checksum in .EXE header file
\par FA\tab FileAlign \tab 8192 \tab File alignment for PE images
\par GHS\tab GRouphashsize:n \tab 25 \tab Hash size for group symbols (1, 1023)
\par HLP\tab HElp \tab No \tab Produce this information
\par L\tab LIbdir \tab None \tab Library search directory path
\par LHS\tab LNamehashsize:n \tab 25 \tab Hash size for LNAMES symbols (1 - 1023)
\par LX\tab LX \tab No \tab Linker will produce an LX executeable
\par LXP\tab LXPAGESIze \tab 4096 \tab LX file format page size (128-32768)
\par LXS\tab LXPAGESHift \tab 12 \tab LX file format page shift (7-15)
\par LXV\tab LXVersion \tab 0 \tab LX module version (0-0xffffffff)
\par MP\tab MAp \tab No \tab Produce link map with public symbols
\par NAH\tab NOALignexeheader \tab No \tab Align EXE header to standard page boundary
\par NCI\tab NOCAseignore \tab No \tab Linker will respect case of symbols
\par NCO\tab NOCOMfile \tab Yes \tab Linker will not produce a .COM file
\par NDL\tab NObuildDLL \tab Yes \tab PE files will not be DLLs.
\par NDO\tab NODOsseg \tab Yes \tab Linker will not use DOSSEG ordering
\par NEX\tab NOEXechecksum \tab Yes \tab Set checksum in .EXE header file to 0
\par NLX\tab NOLX \tab Yes \tab Linker will not produce an LX executable
\par NMP\tab NOMAp \tab Yes \tab Publics not included in link map
\par NOB\tab NOOBjchecksum \tab Yes \tab Ignore checksum in .OBJ records
\par NPS\tab NOpadSegments \tab Yes \tab Don't pad PE sections
\par NPA\tab NOPAuse \tab Yes \tab No pause before writing executable image
\par NSY\tab NOSYsfile \tab Yes \tab Linker will not produce a .SYS file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -