No announcement yet.

Compiler Bits vs Parent Program Bits vs OS Bits

  • Filter
  • Time
  • Show
Clear All
new posts

  • Compiler Bits vs Parent Program Bits vs OS Bits

    After a major "Stress-Day" and final free minute to think straight, one "Sore-thumb" idea that seemed to stick out made me wonder and want to ask.
    (I have never researched before (outside of breezing through to peruse), and need to research deeper, but maybe someone can explain in "Layman's Terms" what I am up against)

    To my understanding (as flawed as it may be)
    1.) PB Compiler is now 32bit (as of version 9.0 I think)
    2.) Is the resource compiler 16 or 32? (not sure, and ran into a problem of either my disk full, or file path too deep (I will figure that problem out later, for now I just needed to know the bits so I can rule out a few things temporarily)
    3.) I often see "I can't do "THIS" under 64 bit....(But most I find is SDK basic stuff like printing or something else) so it leaves me to wonder (Do PB EXE's work and DLL's dont?, or do you have to do something special to get them to work? or even "Ok it has to be under WOW (and still not sure what that even is since I have no 64bit, so all I know is that its a 32 bit emulator)

    I guess what I am asking is "Does anyone have a PB 101 for 64bit step of directions?" sort of thing...I keep finding myself in documentation too deep that I am missing something obvious
    Engineer's Motto: If it aint broke take it apart and fix it

    "If at 1st you don't succeed... call it version 1.0"

    "Half of Programming is coding"....."The other 90% is DEBUGGING"

    "Document my code????" .... "WHYYY??? do you think they call it CODE? "

  • #2
    First, for research and edification purposes, the WinAPI function GetBinaryType() will tell you if an executable file is 16 bit, 32 bit, Unix...

     LOCAL iType AS LONG
       changedir  "C:\PBWINxx\bin"
       s = DIR$ ("*.*") 
       WHILE LEN (S)
            GetBInaryType BYVAL STRPTR(S), iType
            OUTPUT USING$(" & is binary type #", s, iType)
            S = DIR$
       DIR$ CLOSE

    Second, you have to remember there may be multiple programs for each product.

    "The" resource compiler is actually TWO programs: RC.EXE from Microsoft and PBRES.EXE from PowerBASIC.

    There's also the PB IDE's (pbedit.exe and ccedit.exe) as well as the actual compilers (pbwin.exe and pbcc.exe). I "think" the IDEs have been 32 bit since pbedit 5 and ccedit 1. The pbwin.exe and pbcc.exe compilers were migrated from 16-bit to 32-bit as minor (???!!) updates, released as PB/WIN 8.0.something and PB/CC 4.0.something.

    The executable files created by the compilers have been 32-bit since PB/DLL 5.0 and PB/CC 1.0.

    32-bit programs run on 64-bit systems; whatever software needed to do that is included. 16-Bit programs do not run on either 64-bit systems without additional software.

    Michael Mattias
    Tal Systems (retired)
    Port Washington WI USA
    [email protected]