From 0da537768a85ab863bd1a46425db167d6333e51c Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 3 Oct 2011 21:10:11 +0000 Subject: Verify C++ support with CodeSourcery git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4016 42af7a65-404d-4744-a932-0658087f49c3 --- apps/examples/helloxx/Makefile | 14 +++++++++++++- apps/examples/helloxx/main.cxx | 25 +++++++++++++++++++------ 2 files changed, 32 insertions(+), 7 deletions(-) mode change 100755 => 100644 apps/examples/helloxx/Makefile mode change 100755 => 100644 apps/examples/helloxx/main.cxx (limited to 'apps/examples/helloxx') diff --git a/apps/examples/helloxx/Makefile b/apps/examples/helloxx/Makefile old mode 100755 new mode 100644 index eeeae9ef0..5bc17014b --- a/apps/examples/helloxx/Makefile +++ b/apps/examples/helloxx/Makefile @@ -58,6 +58,12 @@ endif ROOTDEPPATH = --dep-path . +# helloxx built-in application info + +APPNAME = helloxx +PRIORITY = SCHED_PRIORITY_DEFAULT +STACKSIZE = 2048 + # Common build VPATH = @@ -92,7 +98,13 @@ $(CXXOBJS): %$(OBJEXT): %.cxx done ; ) @touch .built -context: +.context: +ifeq ($(CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN),y) + $(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main) + @touch $@ +endif + +context: .context .depend: Makefile $(SRCS) @$(MKDEP) $(ROOTDEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep diff --git a/apps/examples/helloxx/main.cxx b/apps/examples/helloxx/main.cxx old mode 100755 new mode 100644 index 9470edf14..f6ec138e8 --- a/apps/examples/helloxx/main.cxx +++ b/apps/examples/helloxx/main.cxx @@ -60,12 +60,12 @@ class CHelloWorld { if (mSecret != 42) { - printf("CONSTRUCTION FAILED!\n"); + printf("CHelloWorld::HelloWorld: CONSTRUCTION FAILED!\n"); return false; } else { - printf("Hello, World!!\n"); + printf("CHelloWorld::HelloWorld: Hello, World!!\n"); return true; } }; @@ -90,23 +90,36 @@ static CHelloWorld g_HelloWorld; // user_start //*************************************************************************** -int user_start(int argc, char *argv[]) +/**************************************************************************** + * Name: user_start/nxhello_main + ****************************************************************************/ + +#ifdef CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN +extern "C" int helloxx_main(int argc, char *argv[]); +# define MAIN_NAME helloxx_main +# define MAIN_STRING "helloxx_main: " +#else +# define MAIN_NAME user_start +# define MAIN_STRING "user_start: " +#endif + +int MAIN_NAME(int argc, char *argv[]) { #ifndef CONFIG_EXAMPLE_HELLOXX_NOSTACKCONST CHelloWorld HelloWorld; #endif CHelloWorld *pHelloWorld = new CHelloWorld; - printf("Saying hello from the dynamically constructed instance\n"); + printf(MAIN_STRING "Saying hello from the dynamically constructed instance\n"); pHelloWorld->HelloWorld(); #ifndef CONFIG_EXAMPLE_HELLOXX_NOSTACKCONST - printf("Saying hello from the statically constructed instance\n"); + printf(MAIN_STRING "Saying hello from the statically constructed instance\n"); HelloWorld.HelloWorld(); #endif #ifndef CONFIG_EXAMPLE_HELLOXX_NOSTATICCONST - printf("Saying hello from the statically constructed instance\n"); + printf(MAIN_STRING "Saying hello from the statically constructed instance\n"); g_HelloWorld.HelloWorld(); #endif -- cgit v1.2.3