diff options
author | JasperVanEck <jaspergkurtz@gmail.com> | 2013-11-28 11:31:23 +0100 |
---|---|---|
committer | JasperVanEck <jaspergkurtz@gmail.com> | 2013-11-28 11:31:23 +0100 |
commit | 0fdfc4ced15ed29c407ad95cb0e1224711c1919d (patch) | |
tree | 1c288b5591407f496d735daf15461ff117cd8355 /Examples/FunctionVoid | |
parent | d8a1c0e46c39bce675d6322cd0bfa0f1f5ba3166 (diff) |
Added extension and functionvoid exmaple
Diffstat (limited to 'Examples/FunctionVoid')
-rw-r--r-- | Examples/FunctionVoid/Makefile | 21 | ||||
-rw-r--r-- | Examples/FunctionVoid/functionvoid.cpp | 43 | ||||
-rw-r--r-- | Examples/FunctionVoid/functionvoid.php | 13 |
3 files changed, 77 insertions, 0 deletions
diff --git a/Examples/FunctionVoid/Makefile b/Examples/FunctionVoid/Makefile new file mode 100644 index 0000000..9adc142 --- /dev/null +++ b/Examples/FunctionVoid/Makefile @@ -0,0 +1,21 @@ +CPP = g++ +RM = rm -f +CPP_FLAGS = -Wall -c -I. -O2 -std=c++11 + +LD = g++ +LD_FLAGS = -Wall -shared -O2 +RESULT = functionvoid.so + +SOURCES = $(wildcard *.cpp) +OBJECTS = $(SOURCES:%.cpp=%.o) + +all: ${OBJECTS} ${RESULT} + +${RESULT}: ${OBJECTS} + ${LD} ${LD_FLAGS} -o $@ ${OBJECTS} -lphpcpp + +clean: + ${RM} *.obj *~* ${OBJECTS} ${RESULT} + +${OBJECTS}: + ${CPP} ${CPP_FLAGS} -fpic -o $@ ${@:%.o=%.cpp} diff --git a/Examples/FunctionVoid/functionvoid.cpp b/Examples/FunctionVoid/functionvoid.cpp new file mode 100644 index 0000000..7ec7129 --- /dev/null +++ b/Examples/FunctionVoid/functionvoid.cpp @@ -0,0 +1,43 @@ +/** + * functionvoid.cpp + * @Author Jasper van Eck + * + * An example file to show the working of a void fucntion call. + */ + +/** + * Libraries used. + */ +#include <iostream> +#include <phpcpp.h> + +/** + * Namespace to use + */ +using namespace std; + +/** + * my_function_void() + */ +void my_function_void() +{ + cout << "In my_function_void()" << endl; +} + + +// Symbols are exported according to the "C" language +extern "C" +{ + // export the "get_module" function that will be called by the Zend engine + PHPCPP_EXPORT void *get_module() + { + // create extension + static Php::Extension extension("my_function_void","1.0"); + + // add function to extension + extension.add("my_void_function", my_function_void); + + // return the extension module + return extension.module(); + } +} diff --git a/Examples/FunctionVoid/functionvoid.php b/Examples/FunctionVoid/functionvoid.php new file mode 100644 index 0000000..cc1840b --- /dev/null +++ b/Examples/FunctionVoid/functionvoid.php @@ -0,0 +1,13 @@ +<?php +/* + * functionvoid.php + * @Author Jasper van Eck + * + * An example file to show the working of a void function call. + */ + +/* + * Run the function with the given name. As you can see, the given name + * can be different from the actual function name. + */ +my_void_function(); |