RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Вопрос по Си (нитки)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : saa
To : Igor Saveliev
Subj : Вопрос по Си (нитки)

> А параметр /Gm+ в ICC разве не извещает о малтитрединге?

Про ICC не знаю. Знаю точно про watcom V10 и читал в доках к bcos2.

Вот что в bcos2 написано:
---
This function should be used instead of the operating system thread creation API function because _beginthread
performs initialization required for correct operation of the run-time library functions.
---

В watcom почти то же самое.

> Мне казалось, что POSIX-вызовы, типа beginthread & Co, реализуются через стандартное API (В данном случае через DosCreateThread). Или я ошибаюсь?

Ну конечно, через. Но не сводятся к ним.

Кстати, тот пример у меня на watcom'е заработал только когда я в нем исправил

(1) ParamList[0] = *(Params + i); на ParamList[i] = *(Params + i); (итересно, для этого он был?) и (ULONG)ParamList на (ULONG)(ParamList+i)
и
(2) заменил DosCreateThread на beginthread с соответствующими модификациями.

В комбинации (как был) он выдавал 2-3 строки 5678 (точнее, Param=162e),

В комбинации (только 1) что-то типа

Param= 4d2
Param= 4d2
Param= 162e

или просто

Param= 4d2

а в комбинации (2) он выдавал положенные

Param= 4d2
Param= 162e

но мы-то знаем что у него внутри ерунда происходила.


Mon 03 Dec 2001 18:39 Mozilla/2.02 (X11; I)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.