Subj : Re: Large Files To : borland.public.cpp.borlandcpp From : "Ed Mulroy [TeamB]" Date : Sat Sep 13 2003 03:39 pm There is no Borland C and is no Borland C++ 5.3. Please check and tell us what version you are using. I am using XP and have had no problems with SetFilePointer. Since the call is directly to the underlying Windows API there should be no compiler involvement that would make a compiler version dependency on if it correctly worked. Make sure that the code checks both the return value from the function and the value it places into the high DWORD whose pointer you pass on the call. If you are passing NULL as that pointer's value then a call to GetLastError may be in order (if you do then do not forget to call SetLastError(0); before the call). The free compiler is the set of command line tools from C++ Builder version 5. It is C++ Builder and is handled in C++ Builder newsgroups, groups with the word 'cppbuilder' in the name. For instance: borland.public.cppbuilder.commandlinetools borland.public.cppbuilder.nativeapi C++ Builder uses ilink32.exe for the linker, just as Borland C++ did. Unlike Borland C++, it does not come with the older linkert Te new linker is well established and tlink.exe does not support some of the newer features needed in a linker. > I have also noticed, in WinXP, that system() needs to be enclosed > within "..." when it contains " in the text. I have been able to code > around this problem, ... I do not understand. Please restate. Show some code. > ... do I really need to update my compiler and linker? If you are using Borland C++ then you are using a compiler that is 6 years old. Most of the Windows operating systems in use were not around back then. You should have upgraded long ago. > Does the latest version deal with pos_t as __int64, and if so, > how does one use it both ways (int-- for old existing code and > __int64 for newer code)? What is pos_t? That symbol is not in any header file on my machine. > ... does the latest C (5.5.1) compiler eliminate the system dependencies? Version 5.51 is not the lastest compiler. The latest compiler is C++ Builder 6 whose bcc32.exe reports itself as 5.6.4. I know of no version of Borland C++ which has system dependencies of the sort to which you allude. .. Ed > Trandog wrote in message > news:3f635a7a$1@newsgroups.borland.com... > > In August I sent in a question re large files (> 4GB)using > Borland C. At that time I mis-stated that I was using Borland > 3, when I really was using v 5.3. I have taken the responded > suggestion and have converted my processes where I > expect large files to use CreateFile, ReadFile, SetFilePointer, > etc. That seems to work fine on my Win9x PC's, but using > SetFilePointer seems to randomly set invalid values when > running under WinXP. Are there diferences that I need to > know about when using these routines. > > I have also noticed, in WinXP, that system() needs to be > enclosed within "..." when it contains " in the text. I have been > able to code around this problem, but does the latest C (5.5.1) > compiler eliminate the system dependencies? I > downloaded the free C compiler (5.5.1), but Tlink32 does not seem to come with > it. This prevents me from using most of my procedures to compile and link > (actually, I can't link when I compile with 5.5.1 -- probably wrong libraries ). > > My BCC32 5.3 compiler came with my update of CBuilder 3.0. I am not that > interested in Cbuilder as I do all command line compiling and linking. What do > I really need to update my compiler and linker? Does the latest version deal > with pos_t as __int64, and if so, how does one use it both ways (int-- for old > existing code and __int64 for newer code)? > > Thanks for any help on this subject. > .