Laden...

Compilerswitch 32bit/64bit (Bedingte Compilierung)

Erstellt von Zuiop vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.806 Views
Z
Zuiop Themenstarter:in
32 Beiträge seit 2008
vor 13 Jahren
Compilerswitch 32bit/64bit (Bedingte Compilierung)

Hallo,

ich möchte eine Art Compilerswitch in meinen Code implementieren. Ganz konkret:
Wenn ich ein Programm im 32bit-Modus kompiliere, möchte ich Methode A aufrufen, wenn es der 64bit-Modus ist, dann Methode B o.ä.

Weiß jemand Rat? Danke.

799 Beiträge seit 2007
vor 13 Jahren

Hört sich seltsam an, wofür brauchst du das?

Aber prinzipiell geht das ganz einfach mit dem Präprozessor.

As a man thinketh in his heart, so he is.

  • Jun Fan
    Es gibt nichts Gutes, außer man tut es.
  • Erich Kästner
    Krawutzi-Kaputzi
  • Kasperl
6.862 Beiträge seit 2003
vor 13 Jahren

hallo,

du kannst zwei verschiedene Konfigurationen dafür in deiner Solution anlegen und pro Konfiguration kannst du andere Symbole für die bedingte Kompilierung anlegen. Die kannst du dann ganz normal im Code auswerten.

Die Frage ist nur warum? Ist des nen Interop Thema mit unmanaged Code?

Baka wa shinanakya naoranai.

Mein XING Profil.

Gelöschter Account
vor 13 Jahren

Hört sich seltsam an, wofür brauchst du das?

Braucht man um native API´s für beide Systeme korrekt einbinden zu können.

Z
Zuiop Themenstarter:in
32 Beiträge seit 2008
vor 13 Jahren

Dank eurer Hinweise hab ich es hingekriegt. Also Präprozessordirektiven + "Conditional Compilation Symbols".
Ja, brauchen tu ich das Ganze, weil ich je nach OS zwei verschiedene DLLs einbinden muss, einmal die 32bit-Variante und ein anderes mal die 64bit-Variante.

1.130 Beiträge seit 2007
vor 13 Jahren

man kann auch die dlls in unterverzeichnisse packen und je nachdem Environment.CurrentDirectory im Programm setzen, um so die richtige Dll-verion zur Laufzeit auszuwählen.
Interops lassen sich mit IntPtr auch oft so schreiben, dass sie für beide versionen gehen (IntPtr hat immer die größe eines Pointers)

zur Laufzeit kann man IntPtr.Size abfragen. Damit kann man oft eine Version für alle Fälle bauen.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!