summaryrefslogtreecommitdiff
path: root/apps/examples/helloxx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-10-03 21:10:11 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-10-03 21:10:11 +0000
commit0da537768a85ab863bd1a46425db167d6333e51c (patch)
tree9ad543d3e99f65e9ce51a8a56d02d559f46bdf7f /apps/examples/helloxx
parent6be41fe54a04032f4516c5eb8a84bf5407cc55ee (diff)
downloadnuttx-0da537768a85ab863bd1a46425db167d6333e51c.tar.gz
nuttx-0da537768a85ab863bd1a46425db167d6333e51c.tar.bz2
nuttx-0da537768a85ab863bd1a46425db167d6333e51c.zip
Verify C++ support with CodeSourcery
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4016 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/examples/helloxx')
-rw-r--r--[-rwxr-xr-x]apps/examples/helloxx/Makefile14
-rw-r--r--[-rwxr-xr-x]apps/examples/helloxx/main.cxx25
2 files changed, 32 insertions, 7 deletions
diff --git a/apps/examples/helloxx/Makefile b/apps/examples/helloxx/Makefile
index eeeae9ef0..5bc17014b 100755..100644
--- 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
index 9470edf14..f6ec138e8 100755..100644
--- 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