Calling the C function in C++ file (Porting)
1.
Create a header file(.h) for your “c” program. The contents of the header file will look like
#ifdef __cplusplus
extern "C" {
#endif
// functions that you going to call in
C++
void yourFunction( );
void PrintfMessage();
int sum ( int i,int j);
......
......
......
#ifdef __cplusplus
}
#endif
2:
Now create your related “.c“file which includes all the function’s definitions which are declared in the above “.h” files. If required As well other “.c” file whose functions will be called by “.c” functions. For instance, sum( ) will call GetFirstNumber( ) that is in another “.c” file.
3:
Now You have to edit the MMP file. a) Add the filename
SOURCE
b) Add STDLIB’s header.
SYTEMINCLUDE \epoc32\include\libc
c) The import library estlib.lib is the C standard library.
LIBRARY estlib.lib
4:
Call yourFunction( ); from C++ file. This C++ file should have the “.h” of the “c” file.
5:
This is only for console based, rest of the steps are same. For, Console based application (i.e., for .exe ) The project also links to ecrt0.lib. This file provides the E32Main() entrypoint for a “.exe”
STATICLIBRARY ecrt0.lib