diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/helloworldexeexample_8c-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/helloworldexeexample_8c-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ - - -TB10.1 Example Applications: examples/PIPS/HelloWorldExample/src/helloworldexeexample/helloworldexeexample.c Source File - - - - -

examples/PIPS/HelloWorldExample/src/helloworldexeexample/helloworldexeexample.c

00001 // helloworldexeexample.c
-00002 //
-00003 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-00004 // All rights reserved.
-00005 // This component and the accompanying materials are made available
-00006 // under the terms of "Eclipse Public License v1.0"
-00007 // which accompanies this distribution, and is available
-00008 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
-00009 //
-00010 // Initial Contributors:
-00011 // Nokia Corporation - initial contribution.
-00012 //
-00013 // Contributors:
-00014 //
-00015 // Description:
-00016 //
-00017 
-00018 
-00019 /* This example is a simple PIPS STDEXE application. It loads the DLL and calls its exported function. 
-00020 The application implements the dynamic lookup by name mechanism of the exported function using the libdl APIs.
-00021 */
-00022 
-00023 // Include files.
-00024 #include <stdio.h>
-00025 #include <dlfcn.h>
-00026 #include <stdlib.h>
-00027 
-00031 void PressAKey()
-00032         {
-00033         fflush(stdout);
-00034         getchar();
-00035         }
-00040 int DisplayErrorMessage()
-00041         {
-00042         // Obtain the last error occurred using the libdl API, dlerror().
-00043         const char *q = dlerror();
-00044         
-00045         // Prints the error message.
-00046         printf("%s",q);
-00047         PressAKey();
-00048                 
-00049         // returns the failure code.
-00050         return EXIT_FAILURE;
-00051         }
-00052 
-00053 int main()
-00054 {
-00055         int result;
-00056         
-00057         // Handle to load the dynamic library.
-00058         void* handleToDll;
-00059         
-00060         typedef void (*PrintHelloWorldFunction)(void);
-00061         PrintHelloWorldFunction PrintHelloWorld;
-00062         
-00063         // Contains name of the DLL file.
-00064         char dllFileName[] = "helloworlddllexample.dll";
-00065 
-00071         handleToDll = dlopen(dllFileName, RTLD_LAZY);
-00072         
-00073         // Check the descriptor value.If it is null, the error message is printed.
-00074         if (!handleToDll)
-00075                 {
-00076                 DisplayErrorMessage();
-00077                 }
-00078         
-00079         // Print the message to start the example application.
-00080         printf(" Press enter key to step through the example application\n");
-00081         PressAKey();
-00082 
-00088         PrintHelloWorld = (PrintHelloWorldFunction)dlsym(handleToDll, "PrintHelloWorld");   
-00089         
-00090         // Check the symbol address value. If this is null, the error message is printed.
-00091         if(!PrintHelloWorld)
-00092                 {
-00093                 DisplayErrorMessage();
-00094                 }
-00095 
-00096         // Call the loaded DLL's exported function.
-00097         PrintHelloWorld();
-00098 
-00105         result= dlclose(handleToDll);
-00106         
-00107         // Check the return value. If this is -1, the error message is printed.
-00108         if(result == -1)
-00109                 {
-00110                 DisplayErrorMessage();
-00111                 }
-00112         
-00113         // Print the message to exit from the example application.
-00114         printf(" Press enter key to exit from the example application");
-00115         PressAKey();
-00116         
-00117         // returns the success code.
-00118         return EXIT_SUCCESS;
-00119 }
-00120 
-00121 
-00122 
-

Generated on Thu Jan 21 10:33:00 2010 for TB10.1 Example Applications by  - -doxygen 1.5.3
- -