|
I'm reasonably sure just: #define __IFS64_IO__ would do the job. If you need to undefine it at the end of the source or something, you could use: #undef __IFS64_IO__ Try it and see the results. Elvis -----Original Message----- From: c400-l-bounces+ebudimlic=centerfieldtechnology.com@xxxxxxxxxxxx [mailto:c400-l-bounces+ebudimlic=centerfieldtechnology.com@xxxxxxxxxxxx] On Behalf Of Chris Wolcott Sent: Thursday, October 14, 2004 12:13 PM To: c400-l@xxxxxxxxxxxx Subject: [C400-L] RE: Default compiler setting in source I saw all that, but I'm looking to find a way to specifiy it IN the source, not on the create command. (I want the source to set yhe options so when someone else comes along and recompiles, the correct options are used.) Currently we specify SYSIFCOPT(*IFS64IO) on the create for those objects that need it. We are using any associated DEFINE options on the create command. Manuals being the great literary works that they tend to be, I can not determine if I can put a " #DEFINE __IFS64_IO__ 1 " line in the source, if it would have to be first, and if I would also need the __LARGE_FILES__ & __LARGE_FILE_API__ or if it would still be 'automatically' defined. Will this give me what using the SYSIFCOPT option on the create command does? -----Original Message----- from: "Elvis Budimlic" <ebudimlic@xxxxxxxxxxxxxxxxxxxxxxxxx> subject: RE: [C400-L] Default compiler setting in source I got this excerpt from "iSeries WebSphereR Development Studio ILE C/C++ Programmer's Guide Version 5" PDF. Reading the excerpt, it seems that it's definitely possible by specifying #define on the appropriate macros in the program source. <snip> Enabling Integrated File System Stream I/O You can enable ILE C/C++ stream I/O for files up to two gigabytes in size by specifying the *IFSIO option on the system interface keyword (SYSIFCOPT) on the Create Module or Create Bound Program command prompt. For example: CRTCMOD MODULE(QTEMP/IFSIO) SRCFILE(QCLE/QACSRC) SYSIFCOPT(*IFSIO) CRTBNDC PGM(QTEMP/IFSIO) SRCFILE(QCLE/QACSRC) SYSIFCOPT(*IFSIO) Using Stream I/O with Large Files The 64-bit version of the Integrated File System interface lets you use ILE C/C++ Stream I/O with files greater than two gigabytes in size. Use any of the methods listed below to enable this interface. * Specify the *IFS64IO option with the SYSIFCOPT keyword on the Create Module or Create Bound Program command prompt. When this option is specified, the compiler defines the __IFS64_IO__ macro, which in turn causes the _LARGE_FILES and _LARGE_FILE_API macros to be defined in the IBM-supplied header files. For example: CRTCPPMOD MODULE(QTEMP/IFSIO) SRCFILE(QCLE/QACSRC) SYSIFCOPT(*IFS64IO) * Define the _LARGE_FILES macro in the program source. Alternately, specify DEFINE('_LARGE_FILES') on a Create Module or Create Bound Program command line. Integrated File System APIs and relevant data types are automatically mapped or redefined to their 64-bit Integrated File System counterparts. For example: CRTCPPMOD MODULE(QTEMP/IFSIO) SRCFILE(QCLE/QACSRC) SYSIFCOPT(*IFSIO) DEFINE('_LARGE_FILES') * Define the _LARGE_FILE_API macro in the program source. Alternately, specify DEFINE('_LARGE_FILE_API') on a Create Module or Create Bound Program command line. This makes 64-bit Integrated File System APIs and corresponding data types visible, but applications must explicitly specify which Integrated File System APIs (regular or 64-bit) to use. For example: CRTCMOD MODULE(QTEMP/IFSIO) SRCFILE(QCLE/QACSRC) SYSIFCOPT(*IFSIO) DEFINE('_LARGE_FILE_API') Notes on Usage * The __IFS64_IO__, _LARGE_FILES, and _LARGE_FILE_API macros are not mutually exclusive. For example, you might specify SYSIFCOPT(*IFS64IO) on the command line, and define either or both of the _LARGE_FILES and _LARGE_FILE_API macros in your program source. </snip> _______________________________________________ This is the C programming iSeries / AS400 (C400-L) mailing list To post a message email: C400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/c400-l or email: C400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.