亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wince-port

?? windows多線程開發包
??
字號:
NOTE: The comments in this file relate to the original WinCE port
done by Tristan Savatier. The semaphore routines have been 
completely rewritten since (2005-04-25), having been progressively
broken more and more by changes to the library. All of the semaphore
routines implemented for W9x/WNT/2000 and up should now also work for
WinCE. Also, pthread_mutex_timedlock should now work. [RPJ]

----

Some interesting news:

I have been able to port pthread-win32 to Windows-CE,
which uses a subset of the WIN32 API.

Since we intend to keep using pthread-win32 for our
Commercial WinCE developments, I would be very interested
if WinCE support could be added to the main source tree
of pthread-win32.  Also, I would like to be credited
for this port :-)

Now, here is the story...

The port was performed and tested on a Casio "Cassiopeia"
PalmSize PC, which runs a MIP processor.  The OS in the
Casio is WinCE version 2.11, but I used VC++ 6.0 with
the WinCE SDK for version 2.01.

I used pthread-win32 to port a heavily multithreaded
commercial application (real-time MPEG video player)
from Linux to WinCE.  I consider the changes that
I have done to be quite well tested.

Overall the modifications that we had to do are minor.

The WinCE port were based on pthread-win32-snap-1999-05-30,
but I am certain that they can be integrated very easiely
to more recent versions of the source.

I have attached the modified source code:
pthread-win32-snap-1999-05-30-WinCE.

All the changes do not affect the code compiled on non-WinCE
environment, provided that the macros used for WinCE compilation
are not used, of course!

Overall description of the WinCE port:
-------------------------------------

Most of the changes had to be made in areas where
pthread-win32 was relying on some standard-C librairies
(e.g. _ftime, calloc, errno), which are not available
on WinCE. We have changed the code to use native Win32
API instead (or in some cases we made wrappers).

The Win32 Semaphores are not available,
so we had to re-implement Semaphores using mutexes
and events.

Limitations / known problems of the WinCE port:
----------------------------------------------

Not all the semaphore routines have been ported
(semaphores are defined by Posix but are not part
pf pthread).  I have just done enough to make
pthread routines (that rely internally on semaphores)
work, like signal conditions.

I noticed that the Win32 threads work slightly
differently on WinCE.  This may have some impact
on some tricky parts of pthread-win32, but I have
not really investigated.  For example, on WinCE,
the process is killed if the main thread falls off
the bottom (or calls pthread_exit), regardless
of the existence of any other detached thread.
Microsoft manual indicates that this behavior is
deffirent from that of Windows Threads for other
Win32 platforms.


Detailed descriptions of the changes and rationals:

------------------------------------
- use a new macro NEED_ERRNO.

If defined, the code in errno.c that defines a reentrant errno
is compiled, regardless of _MT and _REENTRANT.

Rational: On WinCE, there is no support for <stdio.h>, <errno.h> or
any other standard C library, i.e. even if _MT or _REENTRANT
is defined, errno is not provided by any library.  NEED_ERRNO
must be set to compile for WinCE.

------------------------------------
- In implement.h, change #include <semaphore.h> to #include "semaphore.h".

Rational: semaphore.h is provided in pthread-win32 and should not
be searched in the systems standard include.  would not compile.
This change does not seem to create problems on "classic" win32
(e.g. win95).

------------------------------------
- use a new macro NEED_CALLOC.

If defined, some code in misc.c will provide a replacement
for calloc, which is not available on Win32.


------------------------------------
- use a new macro NEED_CREATETHREAD.

If defined, implement.h defines the macro _beginthreadex
and _endthreadex.

Rational: On WinCE, the wrappers _beginthreadex and _endthreadex
do not exist. The native Win32 routines must be used.

------------------------------------
- in misc.c:

#ifdef NEED_DUPLICATEHANDLE
	  /* DuplicateHandle does not exist on WinCE */
	  self->threadH = GetCurrentThread();
#else
	  if( !DuplicateHandle(
			       GetCurrentProcess(),
			       GetCurrentThread(),
			       GetCurrentProcess(),
			       &self->threadH,
			       0,
			       FALSE,
			       DUPLICATE_SAME_ACCESS ) )
	    {
	      free( self );
	      return (NULL);
	    }
#endif

Rational: On WinCE, DuplicateHandle does not exist.  I could not understand
why DuplicateHandle must be used.  It seems to me that getting the current
thread handle with GetCurrentThread() is sufficient, and it seems to work
perfectly fine, so maybe DuplicateHandle was just plain useless to begin with ?

------------------------------------
- In private.c, added some code at the beginning of ptw32_processInitialize
to detect the case of multiple calls to ptw32_processInitialize.

Rational: In order to debug pthread-win32, it is easier to compile
it as a regular library (it is not possible to debug DLL's on winCE).
In that case, the application must call ptw32_rocessInitialize()
explicitely, to initialize pthread-win32.  It is safer in this circumstance
to handle the case where ptw32_processInitialize() is called on
an already initialized library:

int
ptw32_processInitialize (void)
{
	if (ptw32_processInitialized) {
		/* 
		 * ignore if already initialized. this is useful for 
		 * programs that uses a non-dll pthread
		 * library. such programs must call ptw32_processInitialize() explicitely,
		 * since this initialization routine is automatically called only when
		 * the dll is loaded.
		 */
		return TRUE;
	}
    ptw32_processInitialized = TRUE;
  	[...]
}

------------------------------------
- in private.c, if macro NEED_FTIME is defined, add routines to
convert timespec_to_filetime and filetime_to_timespec, and modified
code that was using _ftime() to use Win32 API instead.

Rational: _ftime is not available on WinCE.  It is necessary to use
the native Win32 time API instead.

Note: the routine timespec_to_filetime is provided as a convenience and a mean
to test that filetime_to_timespec works, but it is not used by the library.

------------------------------------
- in semaphore.c, if macro NEED_SEM is defined, add code for the routines
_increase_semaphore and _decrease_semaphore, and modify significantly
the implementation of the semaphores so that it does not use CreateSemaphore.

Rational: CreateSemaphore is not available on WinCE.  I had to re-implement
semaphores using mutexes and Events.

Note: Only the semaphore routines that are used by pthread are implemented
(i.e. signal conditions rely on a subset of the semaphores routines, and
this subset works). Some other semaphore routines (e.g. sem_trywait) are
not yet supported on my WinCE port (and since I don't need them, I am not
planning to do anything about them).

------------------------------------
- in tsd.c, changed the code that defines TLS_OUT_OF_INDEXES

/* TLS_OUT_OF_INDEXES not defined on WinCE */
#ifndef TLS_OUT_OF_INDEXES
#define TLS_OUT_OF_INDEXES 0xffffffff
#endif

Rational: TLS_OUT_OF_INDEXES is not defined in any standard include file
on WinCE.

------------------------------------
- added file need_errno.h

Rational: On WinCE, there is no errno.h file. need_errno.h is just a
copy of windows version of errno.h, with minor modifications due to the fact
that some of the error codes are defined by the WinCE socket library.
In pthread.h, if NEED_ERRNO is defined, the file need_errno.h is
included (instead of <errno.h>).


-- eof

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区不卡| 91精品福利在线一区二区三区 | 亚洲激情av在线| 99久久国产免费看| 亚洲精品高清视频在线观看| 9i在线看片成人免费| 亚洲天堂福利av| 欧美性大战久久久久久久蜜臀| 亚洲超丰满肉感bbw| 欧美电影在线免费观看| 三级一区在线视频先锋| 精品日韩一区二区三区| 成人三级伦理片| 亚洲国产精品影院| 精品日韩一区二区| 91视频国产观看| 免费观看一级欧美片| 久久精品一区二区三区不卡牛牛| 不卡的av电影在线观看| 亚洲国产一区二区视频| 久久综合久久久久88| 不卡的电影网站| 五月开心婷婷久久| 久久九九影视网| 欧美性色黄大片手机版| 精品写真视频在线观看| 最新日韩av在线| 91精品在线观看入口| 成人精品一区二区三区中文字幕| 亚洲午夜免费福利视频| 久久精品一区八戒影视| 欧美精品久久一区二区三区| 国产福利一区二区三区视频| 亚洲成人免费视频| 国产精品毛片无遮挡高清| 欧美影视一区二区三区| 高清免费成人av| 欧美三区在线视频| 中文字幕一区不卡| 精品嫩草影院久久| 欧美色图免费看| bt欧美亚洲午夜电影天堂| 视频一区二区国产| 亚洲欧美一区二区三区国产精品 | 欧美亚洲禁片免费| 国产不卡在线一区| 狠狠色丁香久久婷婷综合_中| 亚洲欧美日本韩国| 中文字幕第一页久久| 欧美一区二区美女| 欧美亚洲国产一区在线观看网站| 国产成人日日夜夜| 韩国一区二区三区| 日本午夜精品视频在线观看 | 日本欧美大码aⅴ在线播放| 亚洲日本乱码在线观看| 国产欧美一区二区三区鸳鸯浴| 91麻豆精品国产91久久久久久久久 | 另类成人小视频在线| 亚洲另类中文字| 国产精品久久久久7777按摩| 26uuu国产在线精品一区二区| 欧美一区二区视频在线观看2020| 欧美日韩久久不卡| 欧美日韩你懂得| 在线观看日韩精品| 色视频一区二区| 色呦呦一区二区三区| 成人av免费在线播放| 国产成人综合在线| 国产黄色精品网站| 国产精品一线二线三线| 国产一区二区在线观看视频| 男人的j进女人的j一区| 日韩高清在线一区| 亚洲123区在线观看| 亚洲一区二区精品视频| 亚洲国产视频在线| 日韩国产高清影视| 美女视频黄频大全不卡视频在线播放| 日日噜噜夜夜狠狠视频欧美人| 亚洲高清免费一级二级三级| 亚洲国产日产av| 日韩一区精品字幕| 激情六月婷婷久久| 国产精一品亚洲二区在线视频| 国产一区二区不卡在线| 粉嫩13p一区二区三区| 久久婷婷综合激情| 日韩一区二区三区视频| 日韩欧美亚洲另类制服综合在线 | jlzzjlzz亚洲女人18| 99久久精品国产导航| 在线精品视频一区二区| 欧美高清dvd| 精品国产亚洲在线| 国产蜜臀av在线一区二区三区| 国产日韩一级二级三级| 国产精品久久久久久福利一牛影视 | 91浏览器打开| 欧美欧美午夜aⅴ在线观看| 日韩视频免费观看高清完整版在线观看 | 日韩色在线观看| 国产婷婷色一区二区三区四区| 国产免费成人在线视频| 亚洲免费在线电影| 美女一区二区三区| 懂色av中文一区二区三区| 色欧美日韩亚洲| 欧美成人性福生活免费看| 亚洲国产精品成人综合| 亚洲在线观看免费| 国产综合久久久久久久久久久久| www.亚洲人| 欧美一区二区三区在线观看| 亚洲国产精品ⅴa在线观看| 亚洲成人777| 国产精品一二三四区| 欧美中文字幕一二三区视频| 精品国一区二区三区| 亚洲精品国产第一综合99久久| 男女男精品网站| 色婷婷av久久久久久久| 精品国产成人系列| 一区二区三区在线播| 久久免费电影网| 日韩一区二区三区电影在线观看| 久久久国产一区二区三区四区小说| 亚洲视频电影在线| 久久av老司机精品网站导航| 91麻豆蜜桃一区二区三区| 精品国产在天天线2019| 亚洲国产精品久久人人爱蜜臀| 国产99久久久国产精品免费看| 欧美肥胖老妇做爰| 亚洲精品乱码久久久久久久久 | 久久久不卡影院| 丝袜亚洲另类丝袜在线| 99国产精品国产精品毛片| 欧美变态口味重另类| 午夜精品久久久久久久久久久| eeuss鲁一区二区三区| 精品国产乱码久久久久久免费| 亚洲午夜在线电影| 91久久精品国产91性色tv | 日韩精品一区二区三区中文不卡| 亚洲美女视频在线| 成人av在线一区二区| 国产视频一区二区在线| 精品综合久久久久久8888| 制服.丝袜.亚洲.另类.中文| 亚洲精品高清在线观看| 99久久久久免费精品国产 | 日韩一级高清毛片| 天堂久久一区二区三区| 在线观看av一区| 一区二区在线观看不卡| 99在线精品观看| 国产精品美女一区二区三区| 国产一区二区三区四区五区入口 | 久草在线在线精品观看| **性色生活片久久毛片| 在线观看免费成人| 国产福利一区二区三区| 伊人一区二区三区| 欧美一区二区高清| 日本黄色一区二区| 成人黄页毛片网站| 一区二区三区小说| 国产网站一区二区三区| 日韩一区二区麻豆国产| 日韩视频一区二区三区在线播放| 欧美精品 国产精品| 91麻豆精品国产91久久久更新时间| 久久66热re国产| 亚洲超碰97人人做人人爱| 欧美色涩在线第一页| 丁香婷婷综合网| 日韩国产成人精品| 日本一区二区在线不卡| 欧美精品自拍偷拍| 欧美视频在线一区二区三区 | 免费成人美女在线观看| 欧美一区二区福利视频| 成人精品一区二区三区中文字幕| 天堂成人免费av电影一区| 精品国产乱码久久久久久牛牛| 欧美三级在线视频| 欧美一三区三区四区免费在线看 | 国产免费观看久久| 日韩美女精品在线| 91麻豆国产福利在线观看| 亚洲精品乱码久久久久久日本蜜臀| 色视频欧美一区二区三区| 视频在线观看一区| 久久欧美一区二区| 91片黄在线观看| 免费在线观看一区二区三区| 国产清纯在线一区二区www| 在线免费亚洲电影|