mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-09-02 16:22:40 -06:00
Syncing uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@1619 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
1491b6b82e
commit
aa774caccf
6 changed files with 102 additions and 0 deletions
9
uppdev/HomeDirCp/HomeDirCp.upp
Normal file
9
uppdev/HomeDirCp/HomeDirCp.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
main.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
|
||||
4
uppdev/HomeDirCp/init
Normal file
4
uppdev/HomeDirCp/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _HomeDirCp_icpp_init_stub
|
||||
#define _HomeDirCp_icpp_init_stub
|
||||
#include "CtrlLib/init"
|
||||
#endif
|
||||
17
uppdev/HomeDirCp/main.cpp
Normal file
17
uppdev/HomeDirCp/main.cpp
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#include <CtrlLib/CtrlLib.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
GUI_APP_MAIN {
|
||||
SetDefaultCharset(CHARSET_UTF8);
|
||||
|
||||
const VectorMap<String, String>& 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();
|
||||
}
|
||||
58
uppdev/UseMallocMT/UseMallocMT.cpp
Normal file
58
uppdev/UseMallocMT/UseMallocMT.cpp
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
#include <stdio.h>
|
||||
#include <process.h>
|
||||
#include <windows.h>
|
||||
#include <vector>
|
||||
#include <Core/Core.h>
|
||||
using namespace Upp;
|
||||
|
||||
int t0=GetTickCount();
|
||||
void t() { printf("%.2f\t",(GetTickCount()-t0)*1e-3); }
|
||||
std::vector<int> *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<int>();
|
||||
t();printf("born\n");
|
||||
for(int i=1;i<k;++i) {
|
||||
Sleep(100);
|
||||
int h=(int)_beginthreadex(0,0,th1,(void*)i,CREATE_SUSPENDED,0);
|
||||
t(); printf("create thread %d\n",h);
|
||||
Sleep(100);
|
||||
{ Mutex::Lock lock(mutex);
|
||||
v->clear();
|
||||
}
|
||||
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");
|
||||
}
|
||||
10
uppdev/UseMallocMT/UseMallocMT.upp
Normal file
10
uppdev/UseMallocMT/UseMallocMT.upp
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
UseMallocMT.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "MT USEMALLOC",
|
||||
"" = "MT";
|
||||
|
||||
4
uppdev/UseMallocMT/init
Normal file
4
uppdev/UseMallocMT/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _UseMallocMT_icpp_init_stub
|
||||
#define _UseMallocMT_icpp_init_stub
|
||||
#include "Core/init"
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue