diff --git a/uppdev/HomeDirCp/HomeDirCp.upp b/uppdev/HomeDirCp/HomeDirCp.upp new file mode 100644 index 000000000..5872304d3 --- /dev/null +++ b/uppdev/HomeDirCp/HomeDirCp.upp @@ -0,0 +1,9 @@ +uses + CtrlLib; + +file + main.cpp; + +mainconfig + "" = "GUI"; + diff --git a/uppdev/HomeDirCp/init b/uppdev/HomeDirCp/init new file mode 100644 index 000000000..ee198ef53 --- /dev/null +++ b/uppdev/HomeDirCp/init @@ -0,0 +1,4 @@ +#ifndef _HomeDirCp_icpp_init_stub +#define _HomeDirCp_icpp_init_stub +#include "CtrlLib/init" +#endif diff --git a/uppdev/HomeDirCp/main.cpp b/uppdev/HomeDirCp/main.cpp new file mode 100644 index 000000000..6e972a1be --- /dev/null +++ b/uppdev/HomeDirCp/main.cpp @@ -0,0 +1,17 @@ +#include + +using namespace Upp; + +GUI_APP_MAIN { + SetDefaultCharset(CHARSET_UTF8); + + const VectorMap& map = Environment(); + for(int i = 0; i < map.GetCount(); i++) + LOG(map.GetKey(i) << "=" << map[i]); + + PromptOK(GetHomeDirFile("test")); + + FileSel fs; + fs.AllFilesType(); + fs.ExecuteOpen(); +} diff --git a/uppdev/UseMallocMT/UseMallocMT.cpp b/uppdev/UseMallocMT/UseMallocMT.cpp new file mode 100644 index 000000000..577ffc34f --- /dev/null +++ b/uppdev/UseMallocMT/UseMallocMT.cpp @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include +using namespace Upp; + +int t0=GetTickCount(); +void t() { printf("%.2f\t",(GetTickCount()-t0)*1e-3); } +std::vector *v; +Mutex mutex; + +unsigned __stdcall th1(void*ctx) { + int i=(int)ctx; + t();printf("thread%d start\n",i); + Sleep(100); + { Mutex::Lock lock(mutex); + t();printf("clear & add item\n"); + v->clear(); + v->push_back(10+i); + } + Sleep(100); + t();printf("thread%d done\n",i); + return 0; +} + +void th0(int k) { + v = new std::vector(); + t();printf("born\n"); + for(int i=1;iclear(); + } + t();printf("resume thread\n"); + ResumeThread((HANDLE)h); + Sleep(300); + { Mutex::Lock lock(mutex); + int n=v->size(); + t(); printf("n=%d ""x[n-1]=%d\n",n,n?(*v)[n-1]:-1); + } + } + Sleep(100); + { Mutex::Lock lock(mutex); + t();printf("clear\n"); + v->clear(); + } + t();printf("kill\n"); + delete v; +} + +CONSOLE_APP_MAIN{ + th0(4); + printf("ready!\n"); +} diff --git a/uppdev/UseMallocMT/UseMallocMT.upp b/uppdev/UseMallocMT/UseMallocMT.upp new file mode 100644 index 000000000..c9052656a --- /dev/null +++ b/uppdev/UseMallocMT/UseMallocMT.upp @@ -0,0 +1,10 @@ +uses + Core; + +file + UseMallocMT.cpp; + +mainconfig + "" = "MT USEMALLOC", + "" = "MT"; + diff --git a/uppdev/UseMallocMT/init b/uppdev/UseMallocMT/init new file mode 100644 index 000000000..6b4866328 --- /dev/null +++ b/uppdev/UseMallocMT/init @@ -0,0 +1,4 @@ +#ifndef _UseMallocMT_icpp_init_stub +#define _UseMallocMT_icpp_init_stub +#include "Core/init" +#endif