C in Visual Studio .... wie?
-
dot schrieb:
Große Makros schrieb:
Wieso verwendet du nicht einfach den gcc in Visual Studio, der kann C99.
Hast du auch einen einfachen Vorschlag, wie man das am besten macht!?
Wem das zu kompliziert ist, der soll einfach Eclipse IDE for C/C++ Developers nehmen.
http://www.eclipse.org/downloads/
-
Große Markos schrieb:
Es ist guter Programmierstil und Konvention, wenn man Makros groß schreibt.
Du schreibst sie dagegen klein, das ist schlecht.Nein, das ist der Ersatz für stdbool.h. Das war gefragt, dies ist die Lösung. Da sind sie klein geschrieben.
P.S.: Vorsicht: Bei obigem Beispiel gehen manche Sachen nicht (oder sind gefährlich), die mit einem richtigen bool gehen würden, wie zum Beispiel ein absoluter Vergleich mit true (ist sowieso schlechter Stil, sollte man aber erwähnt haben).
Wieso?
Meinst du das:bool b = 0;
if (b == true){
...
}weil man auch einfach
book b = 0;
if (b){
...
}schreiben könnte?
if (irgendwas == true)ist bei obiger Definiton nicht äquivalent zu(irgendwas != false), sondern zuif (irgendwas == 1). Konkret ist in richtigem C++/C99:bool foo = 2; if (foo == true) // wahraber mit obigem stdbool-Ersatz:
bool foo = 2; if (foo == true) // falsch
Das ist wohl selten das, was man meint.
-
SeppJ schrieb:
Große Markos schrieb:
Es ist guter Programmierstil und Konvention, wenn man Makros groß schreibt.
Du schreibst sie dagegen klein, das ist schlecht.Nein, das ist der Ersatz für stdbool.h. Das war gefragt, dies ist die Lösung. Da sind sie klein geschrieben.
P.S.: Vorsicht: Bei obigem Beispiel gehen manche Sachen nicht (oder sind gefährlich), die mit einem richtigen bool gehen würden, wie zum Beispiel ein absoluter Vergleich mit true (ist sowieso schlechter Stil, sollte man aber erwähnt haben).
Wieso?
Meinst du das:bool b = 0;
if (b == true){
...
}weil man auch einfach
book b = 0;
if (b){
...
}schreiben könnte?
if (irgendwas == true)ist bei obiger Definiton nicht äquivalent zu(irgendwas != false), sondern zuif (irgendwas == 1). Konkret ist in richtigem C++/C99:bool foo = 2; if (foo == true) // wahraber mit obigem stdbool-Ersatz:
bool foo = 2; if (foo == true) // falsch
Das ist wohl selten das, was man meint.Hä?
-
Was verstehst du daran nicht?

-
_matze schrieb:
Was verstehst du daran nicht?

Die Praxisrelevanz.
Das klingt hier ein wenig wie, wenn der Papst vor dem Teufel warnt, und einfordert, daß man der Kirche Geld spendet, damit die Welt nicht untergeht.int vector__get_size(struct vector *v){//wir erinnern uns an die double underscores return v->end-v->begin; }nebst
if(!vector__get_size(vec))//der user merkt sich
//vector__get_size(vec) funktioniert im bool-Kontext wie vector__is_not_empty(vec)
//und hier ist das problem.//sind beide leer oder beide nichtleer? if(vector__get_size(vec1)==vector__get_size(vec2))Idiot.
//ist er nichtleer? if(vector__get_size(vec1)==true)Husten, wir haben ein Problem.
Aber
int vector__is_not_empty(struct vector *v){ return !!vector_get_size(v); }würde das Problem lösen. Das ist aber unüblich. Lieber beten.
-
SeppJ schrieb:
Swordfish schrieb:
Nur zur Klarstellung: Ich bezog mich auf dd++s Vorschlag.
Das gesagt gilt aber genau so für den Vorschlag von "einer der es wirklich kan"(sic!).
(!false) == (!0) == (1) == 1Falsch Seppl, ich helf dir aber mal. Nicht Null, ist nicht Eins, sondern, alles andere wie Null und folglich ein logisches Wahr, im C-Kontext.
-
einer der es wirklich kan schrieb:
SeppJ schrieb:
Swordfish schrieb:
Nur zur Klarstellung: Ich bezog mich auf dd++s Vorschlag.
Das gesagt gilt aber genau so für den Vorschlag von "einer der es wirklich kan"(sic!).
(!false) == (!0) == (1) == 1Falsch Seppl, ich helf dir aber mal. Nicht Null, ist nicht Eins, sondern, alles andere wie Null und folglich ein logisches Wahr, im C-Kontext.
aus "alles ungleich 0 wird augewertet zu wahr" kannste nicht schließen "wahr wird ausgewertet zu allem ungleich 0".
-
Doch kann ich, weil ein Computer kein Hexenwerk ist. Die Prüfung auf false, bzw. ob der Speicherinhalt nicht gesetzt ist, kann man ganz einfach über einen Maschinenbefehl erreichen. Auch wenn sich aus der bloßen Möglichkeit nicht erschließt, dass man das so macht.
-
Opa Gargamel schrieb:
Doch kann ich, weil ein Computer kein Hexenwerk ist. Die Prüfung auf false, bzw. ob der Speicherinhalt nicht gesetzt ist, kann man ganz einfach über einen Maschinenbefehl erreichen. Auch wenn sich aus der bloßen Möglichkeit nicht erschließt, dass man das so macht.
Ach, geh studieren.
-
volkard schrieb:
Ach, geh studieren.
Wenn ich euch Langzeitstudenten so ansehe, ist das wohl lieber keine gute Wahl.
Früher war eben doch alles besser.