2009-08-21 14 views
26

Szukasz dyrektywy preprocesora w C# do importowania dll na podstawie tego, czy plik wykonywalny jest 64-bitowy czy 32-bitowy:Preprocessor w C# do importowania oparty na platformie

#if WIN64 
[DllImport("ZLIB64.dll", CallingConvention=CallingConvention.Cdecl)] 
#else 
[DllImport("ZLIB32.dll", CallingConvention=CallingConvention.Cdecl)] 

Odpowiedz

38

Oto, co musisz zrobić. Najpierw przejdź do i przejdź do zakładki Build.

Tam, w polu tekstowym oznaczonym "Warunkowe symbole kompilacji", dodaj WIN32 dla platformy x86 (do wyboru w górnej części okna dialogowego) i WIN64 dla swojej platformy x64. Następnie zapisz.

Pamiętaj, że jeśli posiadasz go dla "AnyCPU", prawdopodobnie chcesz całkowicie usunąć tę platformę, ponieważ nie będzie ona bezpieczna.

Następnie przejdź do źródła i napisać:

#if WIN64 
    [DllImport("ZLIB64.dll", CallingConvention=CallingConvention.Cdecl)] 
#else 
    [DllImport("ZLIB32.dll", CallingConvention=CallingConvention.Cdecl)] 
#endif 

Należy pamiętać, że podczas wyświetlania źródła, jedna z linii będzie wyglądał jakby zostało wypowiedziało się, że cała linia jest szara czcionka. Ta linia dotyczy "innej platformy". Jeśli wybierzesz platformę na pasku narzędzi, zauważysz, że kolorowanie składni jest odpowiednie.

Oczywiście, po ponownym przeczytaniu mojej odpowiedzi zauważam, że nie musisz umieszczać WIN32 na liście symboli warunkowych, ponieważ nie jest ona używana, ale może być użyteczne inne miejsca do zrobienia #if na WIN32 zamiast 64.

5

Musisz dodać warunkową kompilację symbol dla każdej platformy docelowej we właściwościach projektu, na karcie Build. Po prostu dodaj symbol danej platformy, zgodnie z listą rozwijaną Platforma u góry formularza Build. Zmiana platformy pozwoli ci dodawać różne symbole, które dotyczą tylko kompilacji dla tej platformy.

1

Nie ma nic wbudowanego, o czym jestem świadomy. Jednak łatwo jest zdefiniować niestandardową stałą kompilacji. Jeśli używasz programu Visual Studio, twórz różne konfiguracje kompilacji dla wersji 32-bitowych i 64-bitowych za pomocą programu Configuration Manager. Następnie otwórz właściwości projektu i przejdź do zakładki Build i wprowadź opisową nazwę w polu tekstowym symboli warunkowych kompilacji dla każdej konfiguracji kompilacji. Następnie możesz odwołać się do stałych kompilacji w kodzie.

Powiązane problemy