The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"OpenNews: Портируем Win32 приложения под Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"OpenNews: Портируем Win32 приложения под Linux"  
Сообщение от opennews on 07-Июл-04, 02:38 
В статье "Migrating Win32 C/C++ applications to Linux" разбирается пример перевода Win32 приложений на C/C++ в вид пригодный для сборки под Linux. Рассмотрены аналоги Win32 функций для работы с процессами, тредами и разделяемой памятью.

URL: http://www-106.ibm.com/developerworks/eserver/library/es-MigratingWin32toLinux.html?ca=dgr-lnxw06CPP2LinuxPower
Новость: http://www.opennet.dev/opennews/art.shtml?num=4067

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Слабовато..."  
Сообщение от Илья Евсеев email on 07-Июл-04, 02:38 
Такое ощущение, что автор знает Си довольно посредственно. Например, зачем делать malloc до fork'a, чтобы в родителе тут же вызвать free?

if (a) return b; else return c; тоже не есть образец высокого стиля.

В целом статья неглубокая. Тому, кто почувствует в ней необходимость, скорее можно посоветовать winelib.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Слабовато..."  
Сообщение от scorp21 email(??) on 07-Июл-04, 13:14 
ты имел в виду
if (xxx)
  return a;
return b;

или

return xxx ? a : b;

??? ^)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Слабовато..."  
Сообщение от я on 25-Июл-06, 18:53 
рыскал тут в поисках кой чего - случайно набрел и заинтересовался...прочитал статью.
2 Илья Евсеев - малок дл форк-а сделан правильно

остальное не смотрел - времени не хватило (статья не полезная - слишком утрированно)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Портируем Win32 приложения под Linux"  
Сообщение от Шаман email on 08-Июл-04, 07:00 
Мда... Поверхностные знания. у меня такое ощущение, что мужик знает С не особо хорошо...
Че мне не понравилось if (a) return b; else return c...

Как было замечено мужиком выше меня, не образец высокого стиля!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Портируем Win32 приложения под Linux"  
Сообщение от klalafuda email on 08-Июл-04, 12:59 
---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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Портируем Win32 приложения под Linux"  
Сообщение от klalafuda email on 08-Июл-04, 13:03 

использование _beginthread/_endthread как основное API для порождения потоков в win32 ? просто кашмар..

// wbr

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Портируем Win32 приложения под Linux"  
Сообщение от klalafuda email on 08-Июл-04, 13:05 
---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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Портируем Win32 приложения под Linux"  
Сообщение от klalafuda email on 08-Июл-04, 13:11 
---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 elapses

Linux uses the sched_yield to do the same thing.
---cut---

sched_yield() и близко не лежал рядом с SleepEx(). просто по определению SleepEx() и sched_yield(). select() еще куда не шло.

// wbr

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру