Можем ли мы проверить, определен ли typedef или нет

Предположим, моя программа:

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();
     }


    } 
32
задан fat 16 April 2014 в 06:39
поделиться