В статье "Migrating Win32 C/C++ applications to Linux" разбирается пример перевода Win32 приложений на C/C++ в вид пригодный для сборки под Linux. Рассмотрены аналоги Win32 функций для работы с процессами, тредами и разделяемой памятью.URL: http://www-106.ibm.com/developerworks/eserver/library/es-Mig...
Новость: http://www.opennet.me/opennews/art.shtml?num=4067
Такое ощущение, что автор знает Си довольно посредственно. Например, зачем делать malloc до fork'a, чтобы в родителе тут же вызвать free?if (a) return b; else return c; тоже не есть образец высокого стиля.
В целом статья неглубокая. Тому, кто почувствует в ней необходимость, скорее можно посоветовать winelib.
ты имел в виду
if (xxx)
return a;
return b;или
return xxx ? a : b;
??? ^)
рыскал тут в поисках кой чего - случайно набрел и заинтересовался...прочитал статью.
2 Илья Евсеев - малок дл форк-а сделан правильноостальное не смотрел - времени не хватило (статья не полезная - слишком утрированно)
Мда... Поверхностные знания. у меня такое ощущение, что мужик знает С не особо хорошо...
Че мне не понравилось if (a) return b; else return c...Как было замечено мужиком выше меня, не образец высокого стиля!
---cut---
If the function succeeds, use the TerminateThread function to release the primary thread on the same process. The TerminateProcess function is then used to unconditionally cause a process to exit. It initiates termination and returns immediately.
---cut---TerminateProcess - отнюдь не самый лучший вариант для завершения. это как саблей по яйцам..
// wbr
использование _beginthread/_endthread как основное API для порождения потоков в win32 ? просто кашмар..// wbr
---cut---
int rc = 0;if (rc = pthread_attr_init(&attr))
return RC_THREAD_NOT_CREATED); // EINVAL, ENOMEM
if (rc = pthread_attr_setstacksize(&attr, stacksize))
return RC_THREAD_NOT_CREATED); // EINVAL, ENOSYS
if (rc = pthread_create(threadId, &attr, (void*(*)(void*))thrdproc,
thrdparam))
---cut---1. warning - assignment in conditional expression
2. на кой ему тут вообще нужен rc ?// wbr
---cut---
The Win32 SleepEx function suspends the current thread until one of the following occurs:An I/O completion callback function is called
An asynchronous procedure call (APC) is queued to the thread
The minimum time-out interval elapsesLinux uses the sched_yield to do the same thing.
---cut---sched_yield() и близко не лежал рядом с SleepEx(). просто по определению SleepEx() и sched_yield(). select() еще куда не шло.
// wbr