| #include "hello.h" |
| #include <stdio.h> |
| #ifdef _MSC_VER |
| # include "windows.h" |
| #else |
| # define WINAPI |
| #endif |
| |
| extern "C" { |
| // test __cdecl stuff |
| int WINAPI foo(); |
| // test regular C |
| int bar(); |
| int objlib(); |
| void justnop(); |
| } |
| |
| // test c++ functions |
| // forward declare hello and world |
| void hello(); |
| void world(); |
| |
| // test exports for executable target |
| extern "C" { |
| int own_auto_export_function(int i) |
| { |
| return i + 1; |
| } |
| } |
| |
| int main() |
| { |
| // test static data (needs declspec to work) |
| Hello::Data = 120; |
| Hello h; |
| h.real(); |
| hello(); |
| printf(" "); |
| world(); |
| printf("\n"); |
| foo(); |
| printf("\n"); |
| bar(); |
| objlib(); |
| printf("\n"); |
| #ifdef HAS_JUSTNOP |
| justnop(); |
| #endif |
| return 0; |
| } |