Предположим, моя программа:
typedef int MYINT;
int main()
{
MYINT x = 5;
........
do_something()
........
/* I wanna test whether MYINT is defined or not */
/* I can't use: ifdef (MYINT), since MYINT is not a macro */
........
return 0;
}
Фактически , Я столкнулся с этой проблемой, когда использовал кросс-компилятор для vxworks. Заголовочный файл кросс-компилятора включал: typedef int INT.
Но использовался заголовочный файл моего стека:
#ifndef INT
#define int INT
Не могли бы вы подсказать, как тестировать typedef, независимо от того, определены ли они ранее или нет?
Заранее спасибо. в моей программе я использую мьютекс, чтобы позволить только одному потоку попасть внутрь критического раздела, и по неизвестной причине я могу видеть несколько распечаток cw ...
Я немного новичок в потоках в c # и вообще,
в моей программе я использую мьютекс
, чтобы позволить только 1 потоку попасть внутрь критического раздела, и по неизвестной причине при выполнении нескольких распечаток cw я вижу, что более 1 потока попадает внутрь моего критического раздела, и это мой код:
Mutex m = new Mutex();
m.WaitOne();
<C.S> // critical section here
m.ReleaseMutex();
Я бы очень хотел знать, не делаю ли я здесь ошибку, заранее спасибо за вашу любезную помощь.
РЕДАКТИРОВАТЬ:
Мой код включает классы, поэтому он в основном выглядит примерно так:
public class test
{
private mutex m;
public test()
{
m = new mutex();
}
public func()
{
m.WaitOne();
<C.S> // critical section here
m.ReleaseMutex();
}
}