PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu Visual Studio 2005


Senior Sanchez
2005-11-17, 22:32:58
Hi,

Ich hätte da zwei Fragen:

1. Wo kann ich umstellen ob ich Managed Code haben will oder Native Code?
2. In einem C++ Projekt (dient noch zum lernen), will ich mehrere Sourcen packen, die main-Methoden enthalten. Kann ich irgendwie, wie z.B. beim JBuilder einstellen, welche main-Methode ausgeführt werden soll? Sonst meckert er ja rum.

Coda
2005-11-17, 22:55:45
1. In .NET 2003 war das noch Project->Properties->General->Use Managed Extensions
2. C++ erlaubt nur eine main im Projekt.

Neomi
2005-11-18, 00:55:11
2. In einem C++ Projekt (dient noch zum lernen), will ich mehrere Sourcen packen, die main-Methoden enthalten. Kann ich irgendwie, wie z.B. beim JBuilder einstellen, welche main-Methode ausgeführt werden soll? Sonst meckert er ja rum.

Das läßt sich auf die Weise lösen...

Die verschiedenen main-Funktionen nennst du main_bla, main_blub oder wie auch immer du willst. Es gibt nur eine einzige echte main-Funktion, deren einziger Inhalt ein Aufruf einer der anderen Funktionen ist. Und zwar über Compilerdirektiven gesteuert. Für jede Funktion legst du eine Projektkonfiguration an,die eine zusätzliche Konstante definiert.

#if defined(...)
// Aufruf 1
#elif defined(...)
// Aufruf 2
#endif

Edit:
Vergiß das, viel zu kompliziert gedacht. Und zwar kannst du jede der main-Funktionen (sogar als "main" benannt) in ein "#ifdef X ... #endif" einhüllen. Wichtig ist nur, daß es in jeder Projektkonfiguration exakt eine (nicht mehr und nicht weniger) main-Funktion gibt, deren zugehörige Konstante definiert ist.

Senior Sanchez
2005-11-18, 01:07:55
Edit:
Vergiß das, viel zu kompliziert gedacht. Und zwar kannst du jede der main-Funktionen (sogar als "main" benannt) in ein "#ifdef X ... #endif" einhüllen. Wichtig ist nur, daß es in jeder Projektkonfiguration exakt eine (nicht mehr und nicht weniger) main-Funktion gibt, deren zugehörige Konstante definiert ist.

Das kapiere ich jetzt nicht so ganz, sry ;)
Ich glaube im Endeffekt wäre es besser einfach immer die main()-Funktion leicht umzubenennen, sodass ich nur noch eine habe *g*

Coda
2005-11-18, 01:25:57
Wozu soll das überhaupt gut sein? Lass sie doch einfach weg :|

Senior Sanchez
2005-11-18, 01:28:36
Wozu soll das überhaupt gut sein? Lass sie doch einfach weg :|

Es geht darum, dass ich gerade fleißig C++ lerne und dazu Visual Studio nutze.
Dabei werden halt oft ganz kleine Programme geschrieben, die nur aus ner main-methode bestehen, weil halt nur irgendetwas veranschaulicht werden soll.
Ich will jetzt nicht für jede datei nen neues projekt erstellen, sondern alle meine kleinen selbstgeschriebenen programme im projekt haben.
Und da die nun mal alle main Methoden haben, muss ich irgendwie nen weg finden umd das möglichst einfach handlen zu können.
Im JBuilder konnte ich ja jede Java-Datei starten, die ne Main-Methode hat, ohne das gemurrt wurde, aber VS kanns ja leider net.

Neomi
2005-11-18, 02:06:58
Wenn das so ist, dann mach doch einfach viele verschieden benannte Funktionen. Dazu eine einzige main, die dann die eine gewünschte aufruft. Die werden ja wohl nicht alle "main" heißen müssen.

Die Hinweise oben mit den Compilerdirektiven wären dazu gut gewesen, diese Änderungen vorzunehmen, ohne den Source anzupacken. Aber so, wie du das jetzt schilderst, wäre das schon Overkill.

Senior Sanchez
2005-11-18, 02:10:17
Wenn das so ist, dann mach doch einfach viele verschieden benannte Funktionen. Dazu eine einzige main, die dann die eine gewünschte aufruft. Die werden ja wohl nicht alle "main" heißen müssen.

Die Hinweise oben mit den Compilerdirektiven wären dazu gut gewesen, diese Änderungen vorzunehmen, ohne den Source anzupacken. Aber so, wie du das jetzt schilderst, wäre das schon Overkill.

Das wäre natürlich eine Idee, wie ich es auch machen könnte :) Das ich darauf nicht vorher gekommen bin *gg* Najoar, ist aber gut so, so werde ich das denke ich machen.

TheGamer
2005-11-18, 07:10:18
int myapp01()
{
}

int myapp02()
{
}

int myapp03()
{
}

int myapp04()
{
}

.
.
.
.
.



int main()
{
//myapp01();
//myapp02();
//myapp03();
myapp04();


}


nun will ich myapp02() ausfuehren


int main()
{
//myapp01();
myapp02();
//myapp03();
//myapp04();


}

Chris Lux
2005-11-18, 09:00:50
ich würde einfach in der solution ein neues projekt einfügen. da kann man dann im solution explorer mit rechtsklick angeben ob es das startup project ist. so hast du in der solution meherere projekte (mit einer main) und kannst auswählen welches gestartet werden soll. die funktionalität, die du in allen projekten brauchst packst du ein library projekte der solution, die du dann zu jeweils den benutzenden 'ausführbaren' projekten (mit der main) hinzulinkst.

HTH

Senior Sanchez
2005-11-27, 19:18:22
Noch zur ersten Frage:

Weiß jemand wo ich zwischen managed und native Code wechseln kann?

Coda
2005-11-27, 19:23:11
1. In .NET 2003 war das noch Project->Properties->General->Use Managed Extensions :|

Aber ich denke nicht, dass du managed wirklich haben willst...

Senior Sanchez
2005-11-27, 19:35:07
:|

Aber ich denke nicht, dass du managed wirklich haben willst...

Sry, vergaß ich zu erwähnen. Ich habe dort nix passendes gefunden, sry.

Mich würde es halt interessieren :)

Trap
2005-11-27, 19:39:02
Common Language Runtime Support heißt es in 2005, ist genau an der gleichen Stelle

Senior Sanchez
2005-11-27, 19:46:15
Common Language Runtime Support heißt es in 2005, ist genau an der gleichen Stelle

Sry, finde es immernoch nicht. Ich habe mal den so denke ich richtigen Dialog hochgeladen. Wo finde ich da die Option?

[img=http://img313.imageshack.us/img313/9159/config9pw.th.jpg] (http://img313.imageshack.us/my.php?image=config9pw.jpg)

Trap
2005-11-27, 19:59:09
Die Option fehlt bei dir tatsächlich, eigentlich sollte sie zwischen Character Set und Whole Program Optimiziation stehen.

Marscel
2005-11-27, 20:11:30
/* int main()
{
}

int main()
{
} */

int main()
{
}


Auskommentieren ist doch nun wirklich schmerzlos.

Coda
2005-11-27, 20:35:52
Marscel was möchtest du uns mitteilen :|

zeckensack
2005-11-27, 20:44:43
/* int main()
{
}

int main()
{
} */

int main()
{
}


Auskommentieren ist doch nun wirklich schmerzlos.C-Kommentare find' ich blöd, denn sie unterstützen leider keine Schachtelung ...

edit:
Zuverlässig und knallhart funktioniert sowas:#if 0
int main() {...}

int main() {...}

int main() {...}
#endif

int main() {...}

Senior Sanchez
2005-11-27, 20:47:49
Die Option fehlt bei dir tatsächlich, eigentlich sollte sie zwischen Character Set und Whole Program Optimiziation stehen.

Hmm, ich habe nochmal geguggt, der .NET Kram ist installiert, dazu noch Visual C++ und Visual C# komplett, dazu auch noch Crystal Reports und noch irgendetwas. Alles was irgendwie nach .NET klingt ist aktiviert.

Marscel
2005-11-28, 19:43:04
Marscel was möchtest du uns mitteilen :|

Er hat gefragt, wie er das Problem mit mehreren main() Funktionen lösen kann. Da hab ich gesagt, alles, was nicht nötig ist, denn es handelt sich wohl um recht kurze Programmcodes, dass man das auskommentiert.

Senior Sanchez
2005-11-29, 01:45:32
Die Option fehlt bei dir tatsächlich, eigentlich sollte sie zwischen Character Set und Whole Program Optimiziation stehen.

Kurioserweise ist in normalen Win32 Projekten, also nicht die für Windows CE, genau diese Option vorhanden.
Dabei soll man doch auch für die aktuellsten Win CE Versionen nen CLR Kompilat erstellen können, aber wie soll das dann gehen?

ollix
2006-01-18, 09:07:25
Kann man eigentlich VS um Syntax Highlighting für Dateien/Syntaxe erweitern, um einige unbekannte Dateien in den Resourcen mit der IDE komfortabler zu betrachten?

TheGamer
2006-01-18, 09:27:37
Ja das kann man

ollix
2006-01-18, 09:46:23
Danke. :) Gibt es irgendwo Listen mit entsprechenden Wordfiles? (und wenn ja: wo?)

Brillenschlange92
2006-01-18, 16:48:53
[gelöscht]

ollix
2006-01-19, 10:09:40
:confused: Was sagt mir das?

Brillenschlange92
2006-01-19, 13:46:04
[gelöscht]

darph
2006-01-19, 16:59:36
Brillenschlange92, ein Punkt wegen Spam.

Trag was zum Thema bei oder laß es.

Diskussionen über Punkte sind bei Bedarf in einem ggf. zu erstellenden Thread im "über die Webseite und das Forum - Forum" zu führen bzw. per PN mit dem jeweiligen Moderator, denn hier wären sie OT. Siehe dazu auch: Regeln und Richtlinien für die Moderation

Brillenschlange92
2006-01-20, 16:29:56
[gelöscht]

Coda
2006-01-20, 16:31:26
Das liegt wenn dann an den Libraries die du einbindest.

Brillenschlange92
2006-01-20, 18:43:57
[gelöscht]

Gast
2006-01-21, 00:43:40
OMG... @Brillenschlange92: Lern doch erst mal die Grundlagen der Programmierung, ich glaube du hast da noch sehr sehr sehr sehr (usw...) große Lücken!! Das ist wirklich nett gemeint, ansonsten blickst du irgendwann gar nichts mehr (jetzt?)

Brillenschlange92
2006-01-21, 15:15:16
[gelöscht]

ollix
2006-01-21, 17:57:43
Kann man eigentlich VS um Syntax Highlighting für Dateien/Syntaxe erweitern, um einige unbekannte Dateien in den Resourcen mit der IDE komfortabler zu betrachten? Wenn dazu noch jemand genauere Infos hat, wäre das klasse ;)

ollix
2006-02-20, 13:32:46
Kann ich eigentlich Visual C++ 2005 so konfigurien, daß er

nicht mehr #pragma once, sondern die klassischen include-Wächter generiert?
beim ClassWizard die Includes statt mit Backslash mit Slash die Pfadtrennung vornimmt und die vorhandene Groß/Kleinschreibung übernimmt..und wenn ja, wie? :)