[BCX] Re: bcx 64 " not a valid win32 program"

David Barron
Tue Mar 24 22:44:37 PDT 2009


Hi Kevin
Ok So when the compiler reportes an error with the microsoft vc it will still compile ok? I used the pelles c 64 compiler.
I can not understand why a vista 64 bit cpu running a 64 bit compiled program reports that its not a genuine win 32 program, I do not get any advantage in array size from my 32 bit 2gb laptop running my program as a 32 bit program,  to my 64 bit computer running my program as a 64 bit compiled program.?
I am investigating reducing my arrays down using a compression technique instead of allocating a large array and leaving spaces in it, I will do a conversion process where after the data is filled I will remove lines with no data in them ( not sure if there is yet), I have done this in another part of my program and it reduced a potential array of (530,530) to (49,49) so there may be some benifit there.
Best regards
Dave




________________________________
From: Kevin Diggins <kdiggins at eeXxCmCm1tGLKIucoNc83LmjT-u6oInldlhN8ZpoMrsq1vdbf5dlr9pNklW9P6VGg_FaSUk04_p4sg.yahoo.invalid>
To: BCX at yahoogroups.com
Sent: Tuesday, 24 March, 2009 11:52:10
Subject: [BCX] Re: bcx 64 " not a valid win32 program"


--- In BCX at yahoogroups. com, David Barron <d.barron57@ ...> wrote:
>
> Hi
> I have been trying to learn abit about c (not terribly good!) I have my program with large arrays compiling and by editing just the c program and re-compiling , I find that as soon as I declare large arrays, windows comes back with not a valid win 32 program ! choosing long etc does not help because that just allows a larger number to be contained in the array. I have got another compile  error which i will copy below that indicates an if without an end, I looked up about nesting ifs and its perfectly legal but I can not understand what this means (sorry)
> // Microsoft VC++
> #ifndef DECLSPEC_UUID
>   #if (_MSC_VER >= 1100) && defined ( __cplusplus )
>     #define DECLSPEC_UUID( x)    __declspec(uuid( x))
>   #else
>     #define DECLSPEC_UUID( x)
>   #endif
> #endif
> The only other question I have is what are runtime functions at the end of my program ? sorry again if this is a stupid question its just that there are routines that obviously  deal with variable lengths etc.
> I hope someone can help because I am confident my program runs ok I just need to expand my arrays, is there a way I can build another type of table which I can address as simply as an array.
> Thanks Dave

Dave,

You raise several issues.

The "not a valid win32 program" error sounds like you've violated the maximum data size allowed by Windows.

I can find nothing wrong with the conditional #if statements above.

The runtime functions, obviously enough, are required for your final program to RUN. The C programming language has very few verbs in it which is great because it simplifies the process of writing C compilers for new hardware. The downside is that runtime libraries are needed for everything from printing "hello world" to creating sophisticated GUI controls.

You might consider zipping up your complete project and uploading it to the WIP folder on Yahoo, so others can take a look at it and perhaps guide you.

MrBcx





      

[Non-text portions of this message have been removed]


           



More information about the BCX mailing list