Typy podpisane i niepodpisane (MIDL)
Kompilatory używające różnych wartości domyślnych dla typów podpisanych i niepodpisanych mogą powodować błędy oprogramowania w aplikacji rozproszonej. Możesz uniknąć tych problemów, jawnie deklarując typy znaków jako podpisane lub niepodpisane. Należy pamiętać, że kompilatory IDL dcE nie rozpoznają słowa kluczowego podpisanego. W związku z tym ta funkcja nie jest dostępna w przypadku korzystania z kompilatora MIDL /przełącznika osf.
MIDL definiuje mały typ, aby podjąć ten sam domyślny znak co char typ w docelowym kompilatorze języka C. Jeśli kompilator zakłada, że znak jest niepodpisany, małe również będą zdefiniowane jako niepodpisane. Wiele kompilatorów języka C umożliwia zmianę wartości domyślnej jako opcji wiersza polecenia. Na przykład w środowisku programistycznym Microsoft Visual C++ opcja wiersza polecenia /J zmienia domyślny znak char od podpisanego do niepodpisanego.
Można również kontrolować znak zmiennych typu char i małych za pomocą przełącznika wiersza polecenia kompilatora MIDL /char. Ten przełącznik umożliwia określenie domyślnego znaku używanego przez kompilator. Kompilator MIDL jawnie deklaruje znak wszystkich typów znaków, które nie są zgodne z domyślnym typem kompilatora języka C w wygenerowanym pliku nagłówka.