TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Kelly Schrock
from: Vitus Jensen
date: 1994-09-23 21:41:46
subject: main()

19.Sep 1994, Kelly Schrock wrote in a message to All:

 KS> Hello,

 KS> I would like to compile and link a program whose main()
 KS> function is hidden in a .LIB file somewhere. I linked a
 KS> library that contains the main() function, and then linked 
 KS> that into a program without a main() function, just to see
 KS> what would happen. 

[... "Unresolved external _main" ...]

 KS> So, I have 2 questions for anyone here; 1. why
 KS> doesn't it work? 

Don't know exactly, Ive got the same problems here ("no starting address").
Sounds like these linkers dont resolve references from compiler library to
user library?


 KS> and 2. how can something like this be made to work? 

Put a reference to a symbol in main.c in your application.


Example:
/*
--- main.c
--- icc /c main.c
--- lib test.lib -+main;
*/
extern  application();

int MainVar = 0x1234;

main()
{
    return application();
}

/*
--- app.c
--- icc app.c test.lib
*/
extern main();

application()
{
    printf("Something from main.c, &main == 0x%x!\n", main );
    return 0;
}


Successfully tested with C/C++ Tools 2.1 and MS-C 6.00A.



Tschuesz,
           Vitus

--- timEd/2 1.00


* Origin: Seems to be a Point of BetaBox Walheim (2:2474/100.20)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 712/353 623 713/888 800/1
@PATH: 2474/100 0 2476/2 2480/76 24/24 396/1 3615/50 229/2
@PATH: 12/2442 711/409 54/54 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.