OS Function

Just starting out? Need help? Post your questions and find answers here.
Akuma no Houkon
User
User
Posts: 77
Joined: Sun Nov 02, 2003 1:47 pm
Location: Washington
Contact:

OS Function

Post by Akuma no Houkon »

Is there a function that can report if you are using the linux or the windows compiler? So somethings that you are forced to use API for or other things, can be optional like:

#If GetOS() = Linux
LoadLibrary(0, "MyLINUXFunction.so")
#Else
LoadLibrary(0, "MyWindowsFunction.DLL")
#EndIf

Failing that, does anyone know how to detect if you are in linux, or windows? I dont want to keep two separate source copies just to compile on two separate OS's
AMD 2600+, nVidia Geforce FX 5200 128 MB DDR, 512 DDR, RedHat 9
Berikco
Administrator
Administrator
Posts: 1326
Joined: Wed Apr 23, 2003 7:57 pm
Location: Belgium
Contact:

Post by Berikco »

It's all in the help file under Compiler Directives

Code: Select all

Works exactly like a regular Select : EndSelect but will tell the compiler which code should be compiled. It's useful when building multi-OSes programs to customize some programs part by using OS specific functions.

Example :

CompilerSelect #OS
  CompilerCase #AmigaOS
    ; some Amiga specific code
  CompilerCase #Linux    ; some Linux specific code
CompilerEndSelect

 

Reserved Constants

The PureBasic compiler has several reserved constants which can be useful to the programmer: 

  #PB_Compiler_Date: Contains the current date, at the compile time, in the PureBasic date format (see Date).
  #PB_Compiler_OS : This constant allows to determine on which OS the compiler is currently running. It can be one of the following value:
    - #PB_OS_Windows: The compiler is running on Windows
    - #PB_OS_Linux:   The compiler is running on Linux
    - #PB_OS_AmigaOS: The compiler is running on AmigaOS
      
Akuma no Houkon
User
User
Posts: 77
Joined: Sun Nov 02, 2003 1:47 pm
Location: Washington
Contact:

Post by Akuma no Houkon »

Thanks
AMD 2600+, nVidia Geforce FX 5200 128 MB DDR, 512 DDR, RedHat 9
Post Reply