Urgent, please help!

sailer 2000-11-12 10:36:00
Hi, gurus
I'm developing an editor using Visual C++ 6.0, and I plan to add some new features to it:
1. read from .class and .jar files and show the classes, operations, etc. in the editor;
2. to compile the .java files edited in my editor.
I know sun.tools.javac.Main and the reflection/introspector mechanism in java can help, but how to utilize them in a program developed in VC? that is, how can I turn a pure java module into a part of VC program, and make these two cooperate well? VJ seems to be more compatible with VC, but there's something missing in it classes, e.g., sun.tools.javac.Main.
Please give me some advice. Thank you for your great help!

Best wishes


...全文
46 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
borland 3.1 开发工具 Welcome to Borland C++ & Application Frameworks 3.1 --------------------------------------------------- This README file contains important information about Borland C++. For the latest information about Borland C++ and its accompanying programs and manuals, read this file in its entirety. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Features 4. Important Information 5. Testing Your Expanded Memory 6. Corrections to the Documents 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC and other files in your DOC subdirectory, and the Borland C++ manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BCPPDOS - for questions pertaining to DOS or GO BCPPWIN - for questions pertaining to Windows on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on-line charges. 2. Check with your local software dealer or users' group. 3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX catalog of entries. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement that came with the package, you may call the Borland Technical Support Department at (408) 461-9133. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Borland C++ can be displayed by pressing Alt-H/A in the IDE. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version numbe
Welcome to Turbo C++ Version 3.0 -------------------------------- This README file contains important information about Turbo C++. For the latest information about Turbo C++ and its accompanying programs and manuals, read this file in its entirety. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Features 4. Important Information 5. Testing Your Expanded Memory 6. Corrections to the On-line Help 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC and other files in your DOC subdirectory, and the Turbo C++ manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BPROGB on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on-line charges. 2. Check with your local software dealer or users' group. 3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX catalog of entries. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement that came with the package, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C++ can be displayed by pressing Alt-H/A. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version number can be determined by typing VER at the DOS prompt.) e. Contents of your AUTOEXEC.BAT file. f. Contents of your CONFIG.SYS file. 2. INSTALLATION ---------------- You MUST use the INSTALL program to install Turbo C++. The files on the distribution disks are all archived and have to be properly assembled. You cannot do this by hand! IMPORTANT! If you want to create backup copies of your disks, make sure that you put the backup on the same type of disk as the source. If you're backing up the 5 1/4 inch 1.2 Mb disk set, use only blank 5 1/4 inch 1.2 Mb disks for backup, etc. The installation will not work correctly if you do not use the same media type for the backup disks. To start the installation, change your current drive to the one that has the install program on it and type INSTALL. You will be given instructions in a box at the bottom of the screen for each prompt. For example, if you will be installing from drive A:, type: A: INSTALL - This INSTALL handles the installation of both the compiler and tools in one operation, and allows several new configuration options. - After installation, make sure you insert \TC\BIN - or whatever you selected as your BIN directory - into your DOS path so the executable files can be found. - Note: The list of files is contained in a separate file called FILELIST.DOC, which will appear in the target directory you specify during installation. - After your initial installation, you can run INSTALL again to add elements you omitted the first time. Just select the items you want to add in the INSTALL options screen. Because some things you may want to save could be overwritten, review the following items to make sure you don't lose important information: 1. Selecting CMD (the Command-line compiler) causes an overwrite of any existing turboc.cfg & tlink.cfg file with path information provided in that INSTALL session. Any switches other than -L (library path) and -I (include path) will not be preserved. 2. Selecting IDE will reset the include and library paths to those provided in that INSTALL session. 3. By selecting any one of the following, the help file paths and choices for THELP.CFG will reflect the current session's installation choices: a. CMD - command-line compiler b. IDE - integrated environment 4. Alterations to headers or startup files will be overwritten if any library models are selected. In general, any selection you make of something installed earlier will cause an overwrite of the earlier version without prompting. You should read the rest of this README file to get further information about this release before you do the installation. 3. FEATURES ------------ Turbo C++ 3.0 includes big speed and capacity gains. Here are some important features found in this version: - DPMI services for increased capacity - C++ 2.1 support, including the new nested class specifications, and support of C++ 3.0 templates. - Support for pre-compiled headers for substantial time savings during subsequent recompiles. - Color syntax highlighting - Unlimited Undo/Redo replacing previous 'restore line' capability - Added library functions for compatibility with other runtime libraries, and addition of support for long double parameters in math functions. (Please refer to On-line Help for details.) - New MAKE features. (Please see the MAKE chapter in the User's Guide for details.) - Added BGI (Borland Graphics Interface) fonts and support. (See "New BGI fonts" below.) - A resident DPMI kernel program, DPMIRES.EXE. (See "DPMI" below.) - THELP now allows you to switch between help files without unloading and reloading. (Please see UTIL.DOC for details.) NEW BGI FONTS ------------- Several new fonts have been added to the Borland Graphics Interface: Name Value Description ------------------------------------------- SCRIPT_FONT 5 Stroked script font SIMPLEX_FONT 6 Stroked simplex font TRIP_SCR_FONT 7 Stroked triplex script font COMPLEX_FONT 8 Stroked complex font EURO_FONT 9 Stroked European font BOLD_FONT 10 Stroked bold font The fonts in the BGI now support the full ASCII character set. DPMI ---- TC.EXE, TCC.EXE, and TLINK.EXE are now hosted under DPMI. These files support protected-mode compilation and replace the files of the same name in Turbo C++ Second Edition. Turbo C++ Second Edition should continue to be used in instances where real-mode compilation is desired. If you encounter a "machine not in database" message while attempting to run the compiler, run the DPMIINST program to add your machine configuration to the DPMI server database. This version includes a resident DPMI host program, DPMIRES.EXE, that allows you to preload the server before invoking TC, TCC, or any other DPMI-hosted executables. If you want to run such hosted EXEs in a Windows Standard Mode DOS window, you should run DPMIRES.EXE before loading Windows. To do this, enter the following commands at DOS: set DPMIMEM=MAXMEM 2000 dpmires win /s If you want to limit the amount of extended memory used by the DPMI-hosted executables, an environment variable called DPMIMEM can be set to do so. For instance, the command set DPMIMEM=MAXMEM 2000 reserves about 2 Mb of memory for DPMIRES. The number after MAXMEM can be adjusted, but cannot be lower than 1000. The hosted executables cannot spawn each other when SHARE is loaded. For instance, if you run MAKE on a file which in turn calls MAKE again, you will get a sharing violation. In this specific case, you can call the real mode version, MAKER, within the given makefile, and a sharing violation won't occur. 4. IMPORTANT INFORMATION ------------------------- - When using Brief with THELP, make sure to use Brief's -p switch to ensure that the thelp window will be visible. - We recommend that you use the following mouse drivers with this product: Microsoft Mouse version 7.04 or later; Logitech Mouse version 5.01 or later; Genius Mouse version 9.06 or later. - If you get a "floating point formats not linked" message at runtime, put the following somewhere in your source files: extern void _floatconvert(); #pragma extref _floatconvert This will force inclusion of floating point formats, which may not be linked to reduce executable size. COMPILER - The default extension for source files to the command-line compiler is .CPP; that is, if you enter TCC -c test the compiler will search for test.cpp, and give an error if a file of that name cannot be found. If you want to have the command-line compiler assume a .c extension and C language source, use the command-line option -P-c. For more information, see "The command-line compiler" in the User's Guide. - Note that the Generate COMDEFs choice under Options|Compiler|Advanced Code Generation and the -Fc command- line option are only supported in the C language. Linker errors will result if you attempt to use a communal variable in C++. - The macros min() and max() are not defined when stdlib.h is compiled as C++ (to allow their use in 3rd party libraries, etc.). - Note that SYMDEB creates .SYM files for use in debugging; Turbo C++ creates .SYM files for pre-compiled headers. They are not compatible and collisions should be avoided by setting the name of the pre-compiled header file (using - H=filename). - There is now full support of distance modifiers (near and far) used for class member pointers. Here are two sample declarations and their meanings: void (A::* far var) (); this is a far variable 'var' of type 'void (A::*)()'; void (far A::* var) (); this is a 'default distance' variable 'var' of type 'void (far A::*)()' - If you use C++ templates, and use a separate TLINK command line rather than letting TCC invoke TLINK, you should make sure that you turn on case-sensitive links with the /c switch. - Incorrect code will be generated if you have a statement of the type "A op B" where either A or B is an enum and the other operand is a long, and "op" is one of the following operators: += -= *= /= | ^ The same problem applies when the operands are a non-integer enum and an int. Cast the enum to long or int respectively to solve the problem. IDE - When debugging a mouse application the Options|Debugger|Display Swapping option should be set to "Always" for best results. - In the IDE, the mouse cursor is turned off during compilation for performance improvements. - To run or debug an overlaid application in the IDE when DOS SHARE is loaded, the .EXE file must first be marked as read-only. Otherwise, unload SHARE. - Pressing Control-Break twice while running or stepping a program from the IDE may cause unexpected results. In particular, avoid pressing Control-Break twice in response to any function requiring input (scanf, getch, etc.). To break out of a program during such interaction, press Control-Break and enter a valid input string. Control will be returned to the IDE. EXAMPLE PROGRAMS - When you are running any example programs that come with .PRJ files, if you didn't use the standard directories when you installed Turbo C++ you will have to change the .PRJ file to reflect your actual directory setup. Do this from inside Turbo C++ with Alt-O/D. LINKING C++ WITH C - Linking C++ modules with C modules requires the use of a linkage specification. Prototypes for C functions within C++ modules must be in one of the following forms: extern "C" declaration extern "C" { declarations } For example, if a C module contains these functions: char *SCopy(char*, char*); void ClearScreen(void) they must be declared in a C++ module in one of the following ways: extern "C" char *SCopy(char*, char*); extern "C" void ClearScreen(void); or extern "C" { char *SCopy(char*, char*); void ClearScreen(void); } Failure to do so will result in "Undefined symbol" errors during link. For further examples, see the standard header files. CLASS LIBRARY - Two versions of the class libraries are provided; one that includes debug information and one that does not. Small versions of each are provided, and project files are provided to build other models. Note that the non-debug versions are used by default. If you would like to use the debug version, copy it to the non-debug file. For instance, in the CLASSLIB\LIB directory, copy TCLASDBS.LIB to TCLASSS.LIB for the small model version. - In some places the User's Guide incorrectly refers to the online documentation for the Container Class Libraries as CONTAIN.DOC. The correct file name is CLASSLIB.DOC, located in the ..\DOC directory. 5. TESTING YOUR EXPANDED MEMORY: EMSTEST.COM --------------------------------------------- Included with Turbo C++ is a program to test your Expanded Memory hardware and software. If you have problems using Turbo C++ with your EMS, type EMSTEST at the DOS prompt and follow the instructions. 6. CORRECTIONS TO THE ON-LINE HELP ----------------------------------- The information for alloca is not available in on-line help. The correct help screen should read as follows: ------------------------------------------------------------------ Function: alloca Allocates temporary stack space Syntax: #include void *alloca(size_t size); Remarks: alloca allocates bytes on the stack. The allocated space is automatically freed up when the calling function exits. Return value: o On success (if enough stack space is available), returns a pointer to the allocated stack area. o On error, returns null. Argument size is the number of bytes allocated on the stack. Because alloca modifies the stack pointer, do no place calls to alloca in an expression that is an argument to a function. NOTE: If the calling function does not contain any references to local variables in the stack, the stack won't be resotored correctly when the function exits and your program will crash. To ensure that the stack is restored correctly, use this code in your calling function: char *p; char dummy[1]; dummy[0] := 0;; ... p = alloca(nbytes); Because alloca is not defined in ANSI C, you should use malloc instead. See also: malloc ------------------------------------------------------------------
Welcome to Turbo C++ Version 3.0 -------------------------------- This README file contains important information about Turbo C++. For the latest information about Turbo C++ and its accompanying programs and manuals, read this file in its entirety. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Features 4. Important Information 5. Testing Your Expanded Memory 6. Corrections to the On-line Help 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC and other files in your DOC subdirectory, and the Turbo C++ manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BPROGB on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on-line charges. 2. Check with your local software dealer or users' group. 3. Borland's TECHFAX service. Call (800) 822-4269 for a FAX catalog of entries. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement that came with the package, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C++ can be displayed by pressing Alt-H/A. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version number can be determined by typing VER at the DOS prompt.) e. Contents of your AUTOEXEC.BAT file. f. Contents of your CONFIG.SYS file. 2. INSTALLATION ---------------- You MUST use the INSTALL program to install Turbo C++. The files on the distribution disks are all archived and have to be properly assembled. You cannot do this by hand! IMPORTANT! If you want to create backup copies of your disks, make sure that you put the backup on the same type of disk as the source. If you're backing up the 5 1/4 inch 1.2 Mb disk set, use only blank 5 1/4 inch 1.2 Mb disks for backup, etc. The installation will not work correctly if you do not use the same media type for the backup disks. To start the installation, change your current drive to the one that has the install program on it and type INSTALL. You will be given instructions in a box at the bottom of the screen for each prompt. For example, if you will be installing from drive A:, type: A: INSTALL - This INSTALL handles the installation of both the compiler and tools in one operation, and allows several new configuration options. - After installation, make sure you insert \TC\BIN - or whatever you selected as your BIN directory - into your DOS path so the executable files can be found. - Note: The list of files is contained in a separate file called FILELIST.DOC, which will appear in the target directory you specify during installation. - After your initial installation, you can run INSTALL again to add elements you omitted the first time. Just select the items you want to add in the INSTALL options screen. Because some things you may want to save could be overwritten, review the following items to make sure you don't lose important information: 1. Selecting CMD (the Command-line compiler) causes an overwrite of any existing turboc.cfg & tlink.cfg file with path information provided in that INSTALL session. Any switches other than -L (library path) and -I (include path) will not be preserved. 2. Selecting IDE will reset the include and library paths to those provided in that INSTALL session. 3. By selecting any one of the following, the help file paths and choices for THELP.CFG will reflect the current session's installation choices: a. CMD - command-line compiler b. IDE - integrated environment 4. Alterations to headers or startup files will be overwritten if any library models are selected. In general, any selection you make of something installed earlier will cause an overwrite of the earlier version without prompting. You should read the rest of this README file to get further information about this release before you do the installation. 3. FEATURES ------------ Turbo C++ 3.0 includes big speed and capacity gains. Here are some important features found in this version: - DPMI services for increased capacity - C++ 2.1 support, including the new nested class specifications, and support of C++ 3.0 templates. - Support for pre-compiled headers for substantial time savings during subsequent recompiles. - Color syntax highlighting - Unlimited Undo/Redo replacing previous 'restore line' capability - Added library functions for compatibility with other runtime libraries, and addition of support for long double parameters in math functions. (Please refer to On-line Help for details.) - New MAKE features. (Please see the MAKE chapter in the User's Guide for details.) - Added BGI (Borland Graphics Interface) fonts and support. (See "New BGI fonts" below.) - A resident DPMI kernel program, DPMIRES.EXE. (See "DPMI" below.) - THELP now allows you to switch between help files without unloading and reloading. (Please see UTIL.DOC for details.) NEW BGI FONTS ------------- Several new fonts have been added to the Borland Graphics Interface: Name Value Description ------------------------------------------- SCRIPT_FONT 5 Stroked script font SIMPLEX_FONT 6 Stroked simplex font TRIP_SCR_FONT 7 Stroked triplex script font COMPLEX_FONT 8 Stroked complex font EURO_FONT 9 Stroked European font BOLD_FONT 10 Stroked bold font The fonts in the BGI now support the full ASCII character set. DPMI ---- TC.EXE, TCC.EXE, and TLINK.EXE are now hosted under DPMI. These files support protected-mode compilation and replace the files of the same name in Turbo C++ Second Edition. Turbo C++ Second Edition should continue to be used in instances where real-mode compilation is desired. If you encounter a "machine not in database" message while attempting to run the compiler, run the DPMIINST program to add your machine configuration to the DPMI server database. This version includes a resident DPMI host program, DPMIRES.EXE, that allows you to preload the server before invoking TC, TCC, or any other DPMI-hosted executables. If you want to run such hosted EXEs in a Windows Standard Mode DOS window, you should run DPMIRES.EXE before loading Windows. To do this, enter the following commands at DOS: set DPMIMEM=MAXMEM 2000 dpmires win /s If you want to limit the amount of extended memory used by the DPMI-hosted executables, an environment variable called DPMIMEM can be set to do so. For instance, the command set DPMIMEM=MAXMEM 2000 reserves about 2 Mb of memory for DPMIRES. The number after MAXMEM can be adjusted, but cannot be lower than 1000. The hosted executables cannot spawn each other when SHARE is loaded. For instance, if you run MAKE on a file which in turn calls MAKE again, you will get a sharing violation. In this specific case, you can call the real mode version, MAKER, within the given makefile, and a sharing violation won't occur. 4. IMPORTANT INFORMATION ------------------------- - When using Brief with THELP, make sure to use Brief's -p switch to ensure that the thelp window will be visible. - We recommend that you use the following mouse drivers with this product: Microsoft Mouse version 7.04 or later; Logitech Mouse version 5.01 or later; Genius Mouse version 9.06 or later. - If you get a "floating point formats not linked" message at runtime, put the following somewhere in your source files: extern void _floatconvert(); #pragma extref _floatconvert This will force inclusion of floating point formats, which may not be linked to reduce executable size. COMPILER - The default extension for source files to the command-line compiler is .CPP; that is, if you enter TCC -c test the compiler will search for test.cpp, and give an error if a file of that name cannot be found. If you want to have the command-line compiler assume a .c extension and C language source, use the command-line option -P-c. For more information, see "The command-line compiler" in the User's Guide. - Note that the Generate COMDEFs choice under Options|Compiler|Advanced Code Generation and the -Fc command- line option are only supported in the C language. Linker errors will result if you attempt to use a communal variable in C++. - The macros min() and max() are not defined when stdlib.h is compiled as C++ (to allow their use in 3rd party libraries, etc.). - Note that SYMDEB creates .SYM files for use in debugging; Turbo C++ creates .SYM files for pre-compiled headers. They are not compatible and collisions should be avoided by setting the name of the pre-compiled header file (using - H=filename). - There is now full support of distance modifiers (near and far) used for class member pointers. Here are two sample declarations and their meanings: void (A::* far var) (); this is a far variable 'var' of type 'void (A::*)()'; void (far A::* var) (); this is a 'default distance' variable 'var' of type 'void (far A::*)()' - If you use C++ templates, and use a separate TLINK command line rather than letting TCC invoke TLINK, you should make sure that you turn on case-sensitive links with the /c switch. - Incorrect code will be generated if you have a statement of the type "A op B" where either A or B is an enum and the other operand is a long, and "op" is one of the following operators: += -= *= /= | ^ The same problem applies when the operands are a non-integer enum and an int. Cast the enum to long or int respectively to solve the problem. IDE - When debugging a mouse application the Options|Debugger|Display Swapping option should be set to "Always" for best results. - In the IDE, the mouse cursor is turned off during compilation for performance improvements. - To run or debug an overlaid application in the IDE when DOS SHARE is loaded, the .EXE file must first be marked as read-only. Otherwise, unload SHARE. - Pressing Control-Break twice while running or stepping a program from the IDE may cause unexpected results. In particular, avoid pressing Control-Break twice in response to any function requiring input (scanf, getch, etc.). To break out of a program during such interaction, press Control-Break and enter a valid input string. Control will be returned to the IDE. EXAMPLE PROGRAMS - When you are running any example programs that come with .PRJ files, if you didn't use the standard directories when you installed Turbo C++ you will have to change the .PRJ file to reflect your actual directory setup. Do this from inside Turbo C++ with Alt-O/D. LINKING C++ WITH C - Linking C++ modules with C modules requires the use of a linkage specification. Prototypes for C functions within C++ modules must be in one of the following forms: extern "C" declaration extern "C" { declarations } For example, if a C module contains these functions: char *SCopy(char*, char*); void ClearScreen(void) they must be declared in a C++ module in one of the following ways: extern "C" char *SCopy(char*, char*); extern "C" void ClearScreen(void); or extern "C" { char *SCopy(char*, char*); void ClearScreen(void); } Failure to do so will result in "Undefined symbol" errors during link. For further examples, see the standard header files. CLASS LIBRARY - Two versions of the class libraries are provided; one that includes debug information and one that does not. Small versions of each are provided, and project files are provided to build other models. Note that the non-debug versions are used by default. If you would like to use the debug version, copy it to the non-debug file. For instance, in the CLASSLIB\LIB directory, copy TCLASDBS.LIB to TCLASSS.LIB for the small model version. - In some places the User's Guide incorrectly refers to the online documentation for the Container Class Libraries as CONTAIN.DOC. The correct file name is CLASSLIB.DOC, located in the ..\DOC directory. 5. TESTING YOUR EXPANDED MEMORY: EMSTEST.COM --------------------------------------------- Included with Turbo C++ is a program to test your Expanded Memory hardware and software. If you have problems using Turbo C++ with your EMS, type EMSTEST at the DOS prompt and follow the instructions. 6. CORRECTIONS TO THE ON-LINE HELP ----------------------------------- The information for alloca is not available in on-line help. The correct help screen should read as follows: ------------------------------------------------------------------ Function: alloca Allocates temporary stack space Syntax: #include void *alloca(size_t size); Remarks: alloca allocates bytes on the stack. The allocated space is automatically freed up when the calling function exits. Return value: o On success (if enough stack space is available), returns a pointer to the allocated stack area. o On error, returns null. Argument size is the number of bytes allocated on the stack. Because alloca modifies the stack pointer, do no place calls to alloca in an expression that is an argument to a function. NOTE: If the calling function does not contain any references to local variables in the stack, the stack won't be resotored correctly when the function exits and your program will crash. To ensure that the stack is restored correctly, use this code in your calling function: char *p; char dummy[1]; dummy[0] := 0;; ... p = alloca(nbytes); Because alloca is not defined in ANSI C, you should use malloc instead. See also: malloc ------------------------------------------------------------------
WELCOME TO TURBO C 2.01 ----------------------- This README file contains important, last minute information about Turbo C 2.01. The HELPME!.DOC file on the COMPILER/UTILITIES disk also answers many common Technical Support questions. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Important Notes 4. Additional Notes 5. Notes for Turbo Prolog Users 6. Files on the Disks 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC file, and the Turbo C manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BOR on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on- line charges. 2. Check with your local software dealer or users' group. 3. Write to us at the following address: Borland International Turbo C Technical Support 1800 Green Hills Road P.O. Box 660001 Scotts Valley, CA 95066-0001 Please remember to include your serial number or we will be unable to process your letter. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement from the front of your manual, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C is displayed when you first load th
WELCOME TO TURBO C 2.0 ---------------------- This README file contains important, last minute information about Turbo C 2.0. The HELPME!.DOC file on the COMMAND LINE/UTILITIES disk also answers many common Technical Support questions. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Important Notes 4. Corrections to the Manuals 5. Additional Notes 6. Notes for Turbo Prolog Users 7. Files on the Disks 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC file, and the Turbo C manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BOR on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on- line charges. 2. Check with your local software dealer or users' group. 3. Write to us at the following address: Borland International Turbo C Technical Support 1800 Green Hills Road P.O. Box 660001 Scotts Valley, CA 95066-0001 Please remember to include your serial number or we will be unable to process your letter. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement from the front of your manual, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C is displayed when you first load the program and before you press any keys. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version number can be determined by typing VER at the MSDOS prompt.) e. Contents of your AUTOEXEC.BAT file. f. Contents of your CONFIG.SYS file. 2. INSTALLATION ---------------- The INSTALL/HELP disk contains a program called INSTALL.EXE that will assist you with the installation of Turbo C 2.0. There are three options for installation: 1. Hard Disk - This option allows you to pick the subdirectories where the files will be loaded. It will create a TURBOC.CFG file based on those directories. 2. Update from TC 1.5 - This allows for an easy update from version 1.5. After the files are copied, all the installed options from your current TC.EXE will be transferred to the new one. This is especially useful if you have modified the colors or editor keys. 3. Floppy Disk - This option will build either a command line or Integrated Development Environment version for a two drive system. Be sure to have three formatted disks ready before you start. To start the installation, change your current drive to the one that has the install program on it and type INSTALL. You will be given instructions in a box at the bottom of the screen for each prompt. For example, if you will be installing from drive A:, type: A: INSTALL You should read the rest of this README file to get further information about this release before you do the installation. 3. IMPORTANT NOTES ------------------- o The file HELPME!.DOC contains discussions of common questions and answers concerning Turbo C 2.0. You should consult it for answers to problems that aren't covered in this file or in the manuals. o If you are running INSTALL or TCINST on a laptop or any other system that uses an LCD or composite display, you should set your system to black and white mode before running INSTALL or TCINST. You can do this from DOS with the following command line: mode bw80 or, you can force INSTALL or TCINST to come up in black and white mode by using the /b switch: tcinst /b o /P PARAMETER FOR TC.EXE. A new command-line switch controls palette swapping on EGA video adapters. Using this switch tc /p hello is recommended only when the user program modifies the EGA palette registers. When /P is specified, the EGA palette will be restored each time the screen is swapped. In general, you don't need to use this switch unless your program modifies the EGA palette registers, or unless your program uses BGI to change the palette. o A program that takes over interrupt 9 cannot be debugged with the integrated debugger. Use the standalone Turbo Debugger instead. o exec() WITH NOVELL NETWORK. Versions of the Novell network system software earlier than 2.01-2 do not support a DOS call used by exec(), spawn(), and system(). If you are using the Integrated Development Environment to run a program that uses any of these functions and you have early Novell system software, run the program from DOS. To do this from the Integrated Development Environment you can use Alt-F/O. o If you used the INSTALL program to upgrade from version 1.5, or if you used CINSTXFR to transfer options from an installation of version 1.5, check the setting of the standard stack frame option in the Integrated Development Environment (Alt-O/C/C/S). If you are going to use the integrated debugger this option should be turned ON. o If you are having problems with the call stack or qualified names, make sure you have compiled with the standard stack frame option turned on. o The ANSI draft has changed the syntax of labels. A label now must always be followed by a statement. This means that code like this is no longer accepted: { . . . jump_label: } If you have code like this, change it to look like this: { . . . jump_label: ; /* need a statement here! */ } o TCC has a switch to specify which assembler to look for. By default, it will look for TASM.EXE. If you want to use a different assembler, use -E, as described in the Reference Guide. o When using THELP on an AT&T 6300, be sure to use the /L25 command-line option, as described in the file THELP.DOC. o When you use qualified variable names as described on page 57 of the User's Guide you don't need to use the module name to access a variable that is local to a global function. The module name is only needed when you access a static variable or a variable that is local to a static function. o Because of the limited memory available in the Tiny model, it no longer supports graphics functions. o The Version 1.5 graphics drivers (*.BGI) are not compatible with the Version 2.0 graphics library. Use the graphics drivers distributed with Version 2.0. o When used with a Zenith Z-449 card, the BGI autodetection code will always select the 640X480 enhanced EGA mode. If you are using the Z-449 with a monitor that is not compatible with this mode, it will be necessary to override the GraphDriver and GraphMode parameters used in the BGI initgraph() call. 4. CORRECTIONS TO THE MANUALS ------------------------------ REFERENCE GUIDE: Page 159 The prototype for the function getdefaultpallette() is incorrect. It should be struct palettetype * far _Cdecl getdefaultpalette( void ); USER'S GUIDE: Page 57 In the section entitled "Qualifying Variable Names," the last sentence should read "...need to type only myfunc.myvar." 66 The directions for compiling the WORDCNT program are incorrect. There is no WORDCNT.PRJ file; all you need to do is load the file WORDCNT.C into the editor. Once you have done that, the rest of the instructions are correct. 5. ADDITIONAL NOTES -------------------- 5.1 NOTES FOR VERSION 1.0 & 1.5 USERS ------------------------------------- o You must use the Version 2.0 libraries with the 2.0 compilers. o The Integrated Development Environment no longer displays the message "Press any key to return to Turbo C..." when your program terminates. Instead, at the end of your program the User screen is replaced by the Integrated Development Environment. To view the User screen, press Alt-F5 or select Alt-R/S. When you are viewing the User screen, pressing any key will return you to the Integrated Development Environment. o A new pseudo-variable has been added. _FLAGS now contains the value of the flags register so you can test the flags at any point in your program. o The ssignal() and gsignal() functions are no longer supported. See the section in this README on how to convert programs that use them. o The cprintf() function now works as documented. It does not translate line-feeds into CR/LF combinations. o Some compatibles had a problem under Version 1.5 because it used interrupt 18H. Version 2.0 does not use this interrupt, so you shouldn't encounter this problem anymore. o The program TCINST.COM in Version 1.0 has been changed to an .EXE file. You should delete the TCINST.COM program before trying to run the new TCINST.EXE. Otherwise, MS-DOS will actually run the old one. o The FILE structure for streams in Version 1.0 (but not 1.5) has been changed, so that the function tmpfile() could be implemented. You should recompile any modules that use stream I/O. 5.2 THELP ---------- THELP is a memory-resident utility program that gives you access to the Turbo C context-sensitive help system from any program. You don't need to use THELP if you're in the Integrated Development Environment, but it is especially useful if you use the command line compiler and your own text editor, or if you are debugging with the standalone Turbo Debugger. To use THELP, load THELP.COM into memory by typing at the DOS command line: thelp You activate ("pop-up") THELP by typing its hot key -- by default numeric keypad <5>. All Turbo C help commands apply (F1, Ctrl-F1, Alt-F1). For a complete description of THELP, refer to THELP.DOC in the Documentation Subdirectory. 5.3 USING CINSTXFR.EXE ---------------------- Your Turbo C 2.0 package contains a program named CINSTXFR.EXE, which can be used to transfer the configuration of the Integrated Development Environment from your copy of Turbo C 1.5 (not for 1.0) to your new installation of Turbo C 2.0. This program is run automatically by INSTALL.EXE if you select the option to "Update Hard Drive Copy of Turbo C 1.5 to Turbo C 2.0." If you prefer to do this yourself, you can run CINSTXFR.EXE from the DOS command line. CINSTXFR.EXE takes two arguments: the first is the name of your Turbo C 1.5 Integrated Development Environment file (usually TC.EXE), and the second is the name of your Turbo C 2.0 Integrated Development Environment file (also usually TC.EXE). Either one of these names can also include a path name. For example, if your copy of the Turbo C 1.5 Integrated Development Environment file is named TC.EXE and is in a directory named \TURBOC and your copy of the Turbo C 2.0 Integrated Development Environment file is also named TC.EXE but is located in a directory named \TC2, the command line to copy the configuration from 1.5 to 2.0 would look like this: CINSTXFR \TURBOC\TC.EXE \TC2\TC.EXE This will transfer all the options that you installed in your copy of Turbo C 1.5 to your copy of Turbo C 2.0. CINSTXFR.EXE does not work with Turbo C 1.0. If you are upgrading from Turbo C 1.0, you will have to install the options yourself. 5.4 CHANGED SWITCHES FOR OBJXREF -------------------------------- OBJXREF is an object module cross reference utility and is described on page 528 of the Turbo C Reference Guide. The /O option (object files directory) has been changed to the /D (directories) option. The switch now allows for multiple search directories to be specified. The new syntax is: OBJXREF /Ddir1[;dir2[;dir3]] or OBJXREF /Ddir1 [/Ddir2] [/Ddir3] OBJXREF will search each of the directories in the specified order for all object and library files. If no /D option is used, only the current directory will be searched. However, if a /D option is used, the current directory will NOT be searched unless it is included in the directory list. For example, to first search the BORLAND directory for files and then search the current directory, you would type OBJXREF /Dborland;. If multiple search directories are specified and a file matching the file specification is found, OBJXREF will include the file as part of the cross-reference. OBJXREF will only continue to search the other directories for the same file specification if the file specification contains wildcards. A new option has been added to allow you to specify an output file where OBJXREF will send any reports generated. The new option is the /O option, and has the following syntax: OBJXREF myfile.obj /RU /Ofilename.ext By default, all output is sent to the console. 5.5 CONVERSION INFORMATION FOR ssignal() AND gsignal() ------------------------------------------------------ Note: The C library and SIGNAL.H no longer support the ssignal() and gsignal() functions. ssignal() and gsignal() were from the old UNIX System III days. The ANSI standard no longer supports them nor does the current UNIX System V Interface Definition specification. To ease portation problems for people moving older code to Turbo C, we supply the source for the functions that came with TC 1.0 and TC 1.5. Also, the following discussion describes how code can be converted to do the same sort of things that ssignal() and gsignal() do without actually using them. NOTE: The constants defined in SIGNAL.H for SIG_IGN and SIG_DFL are different from the constants that were in TC 1.0 and TC 1.5. By using a globally declared array of function pointers, you can simulate the actions of ssignal() and gsignal() by using the following macros. Notice how the global table entry [0] is used as a temporary variable in the ssignal macro allowing the macro to swap the values and still return the original one. int (*_sigTable[16]) = { SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, }; #define ssignal(num, action) \ ( \ (((num) < 1) || ((num) > 15)) ? SIG_DFL : \ ( \ (_sigTable[0] = _sigTable[(num)]), /* List of actions */ \ _sigTable[(num)] = (action), /* The last expression */ \ _sigTable[0] /* is the return value */ \ ) \ ) \ #define gsignal(num) \ ( \ (((num) < 1) || ((num) > 15)) ? 0 : \ ( \ (_sigTable[(num)] == SIG_IGN) ? 1 : \ ( \ (_sigTable[(num)] == SIG_DFL) ? 0 : (*_sigTable[(num)])() \ ) \ ) \ ) \ 6. NOTES FOR TURBO PROLOG USERS -------------------------------- o If you are linking C code with programs generated by Turbo Prolog 2.0, use the file INIT.OBJ provided on the EXAMPLES/BGI/MISC disk of the Turbo C 2.0 package instead of the file provided with Turbo Prolog 2.0. There have been some changes made in Turbo C 2.0 that require the use of this new file. o If your C code uses floating point math and you link with the emulator library, Prolog will not automatically detect a math coprocessor chip. If you want to force the program to use the coprocessor, link it with FP87.LIB instead of EMU.LIB. 7. FILES ON THE DISKS ---------------------- INSTALL/HELP ------------ INSTALL EXE - Installation program README COM - Reads this README TCHELP TCH - Help file for Turbo C THELP COM - Pop-up utility to access TCHELP.TCH THELP DOC - Documentation for THELP.COM README - This file INTEGRATED DEVELOPMENT ENVIRONMENT ---------------------------------- TC EXE - Turbo C Compiler TCCONFIG EXE - Program to convert configuration files MAKE EXE - Program for managing projects GREP COM - Turbo GREP program TOUCH COM - Program that updates a file's date and time COMMAND LINE/UTILITIES ---------------------- TCC EXE - Command-line version of Turbo C Compiler CPP EXE - Turbo C preprocessor TCINST EXE - Installation program for TC.EXE TLINK EXE - Borland Turbo Linker HELPME! DOC - Common questions and answers LIBRARIES --------- C0S OBJ - Small model startup code C0T OBJ - Tiny model startup code C0L OBJ - Large model startup code MATHS LIB - Small model math library MATHL LIB - Large model math library CS LIB - Small model run-time library CL LIB - Large model run-time library EMU LIB - 8087 emulator library GRAPHICS LIB - Graphics library FP87 LIB - 8087 library TLIB EXE - Borland Turbo Librarian HEADER FILES/LIBRARIES ---------------------- ???????? H - Turbo C header files - Subdirectory with SYS\*.H header files C0C OBJ - Compact model startup code C0M OBJ - Medium model startup code MATHC LIB - Compact model math library MATHM LIB - Medium model math library CC LIB - Compact model run-time library CM LIB - Medium model run-time library EXAMPLES/BGI/MISC ----------------- UNPACK COM - Program to unpack the .ARC files OBJXREF COM - Object file cross-reference utility C0H OBJ - Huge model startup code MATHH LIB - Huge model math library CH LIB - Huge model run-time library GETOPT C - Parses options in command line HELLO C - Example Turbo C program MATHERR C - Source code for handling math library exceptions SSIGNAL C - Source code for ssignal and gsignal functions CINSTXFR EXE - Program to copy TC 1.5 installation to TC 2.0 INIT OBJ - Initialization code for use when linking with Prolog BGI ARC - BGI drivers and fonts BGIOBJ EXE - Conversion program for fonts and drivers ATT BGI - Graphics driver for ATT400 graphics card CGA BGI - Graphics driver for CGA EGAVGA BGI - Graphics driver for EGA and VGA HERC BGI - Graphics driver for Hercules IBM8514 BGI - Graphics driver for IBM 8514 graphics card PC3270 BGI - Graphics driver for PC3270 GOTH CHR - Font for gothic character set LITT CHR - Font for small character set SANS CHR - Font for sans serif character set TRIP CHR - Font for triplex character set BGIDEMO C - Graphics demonstration program STARTUP ARC - ARC file with startup source code and related files RULES ASI - Assembler include file for interfacing with Turbo C C0 ASM - Assembler source for startup code SETARGV ASM - Assembler source code for parsing the command line SETENVP ASM - Assembler source code for preparing the environment BUILD-C0 BAT - Batch file for building the startup code modules MAIN C - Alternative, stripped-down C main file EMUVARS ASI - Assembler variable declarations for emulator WILDARGS OBJ - Object code for module to expand wildcard arguments EXAMPLES ARC - Various C examples code CPASDEMO PAS - Pascal program that demonstrates Turbo Pascal 4.0 - Turbo C interface CPASDEMO C - C example module for the Turbo Pascal 4.0 - Turbo C interface demonstration CTOPAS TC - Configuration file for use with TC.EXE that creates Turbo C modules in the correct format for linking with Turbo Pascal 4.0 programs CBAR C - Example function to be used with PBAR.PRO PBAR PRO - Example Turbo Prolog program demonstrating interface with Turbo C WORDCNT C - Example program demonstrating source level debugging. NOTE: DO NOT RUN THIS PROGRAM WITHOUT READING THE DISCUSSION IN THE MANUAL. IT CONTAINS DELIBERATE ERRORS. WORDCNT DAT - Data file for use by WORDCNT.C MCALC ARC - Mcalc sources and doc MCALC DOC - MicroCalc documentation MCALC C - MicroCalc main program source code MCINPUT C - MicroCalc input routines source code MCOMMAND C - MicroCalc commands source code MCPARSER C - MicroCalc input parser source code MCUTIL C - MicroCalc utilities source code MCDISPLY C - MicroCalc screen display source code MCALC H - The header file for MicroCalc MCALC PRJ - The MicroCalc project file

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧