|
|
|
|
Ich will in ein C++ Programm ein Feature einbauen, das nur präsent sein soll, falls eine Bibliothek verfügbar ist.
Ist es bad practice, ganze member Funktionen von Klassen in ein
|
Code: |
#if(HAVE_CURL)
void MyClass::do() {
// use curl
}
#endif |
|
zu wrappen? Das müsste man ja im Header auch tun, und eben dort, wo die Funktion aufgerufen wird. CLion hat nämlich blöderweise einen bug, der zwischen #if(..) und #endif keinen Code highlighted usw.
Oder gibt es da eine besser practice?
|
|
|
|
|
|
|
In headern (und eigentlich nur dort) sind #ifdef gute praxis. In den cpp files aber nicht, lieber 2 files und das zweite nur kompilierem, wenn die lib verfuegbar ist.
|
|
|
|
|
|
|
| Zitat von Oli
CLion hat nämlich blöderweise einen bug, der zwischen #if(..) und #endif keinen Code highlighted usw.
| |
IIRC macht CLion Sachen grau, die in #ifs stehen, wenn das #if aus CLions Sicht nicht erfüllt ist.
#ifdef __JETBRAINS_IDE__
// Stuff that only clion will see goes here
#endif
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 21.03.2017 17:36]
|
|
|
|
|
|
| Zitat von csde_rats
| Zitat von Oli
CLion hat nämlich blöderweise einen bug, der zwischen #if(..) und #endif keinen Code highlighted usw.
| |
IIRC macht CLion Sachen grau, die in #ifs stehen, wenn das #if aus CLions Sicht nicht erfüllt ist.
#ifdef __JETBRAINS_IDE__
// Stuff that only clion will see goes here
#endif
| |
Kenn ich aus Visual Studio und Qt Creator auch so.
|
|
|
|
|
|
|
| Zitat von csde_rats
| Zitat von Oli
CLion hat nämlich blöderweise einen bug, der zwischen #if(..) und #endif keinen Code highlighted usw.
| |
IIRC macht CLion Sachen grau, die in #ifs stehen, wenn das #if aus CLions Sicht nicht erfüllt ist.
#ifdef __JETBRAINS_IDE__
// Stuff that only clion will see goes here
#endif
| |
Kann es jetzt gerade nicht überprüfen, aber eigentlich war das Statement true und CLion hätte es auch wissen müssen. Vielleicht war der CMake Cache schuld.
| Zitat von Admiral Bohm
In headern (und eigentlich nur dort) sind #ifdef gute praxis. In den cpp files aber nicht, lieber 2 files und das zweite nur kompilierem, wenn die lib verfuegbar ist.
| |
Ich habe es jetzt so gemacht:
a.h:
|
Code: |
#if(HAVE_CURL)
class http {
void post(...) {...} // curl stuff
}
#endif |
|
b.c
|
Code: |
#include a.h
#if(HAVE_CURL)
http h;
h.post(...)
#endif |
|
Ich wüsste nicht, wie ich komplett in Header files mit den #ifs auskommen sollte, wenn ich nur mal so einen Funktionsaufruf aus a.h benötige. Ist doch Unsinn, da zwei Versionen von b.c zu machen, oder verstehe ich dich falsch?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 21.03.2017 18:09]
|
|
|
|
|
|
Hyperbolische Räume in VR
Fuck yeah! Mal gucken, ob ich unsere Computerfuz- die Informatiker hier auf der Etage dazu bekomme, das für uns Relativisten mal vorzuführen. Wofür haben die denn sonst ihre coolen VR-Brillen an einer Uni.
Ticking away the moments that make up a dull day...
|
|
|
|
|
|
|
Sieht aus wie eine schlechte Amiga Demo...?
|
|
|
|
|
|
|
Ach wuSel, das ist nur weil wir futzis sowas nicht verstehen.
|
|
|
|
|
|
|
Du vielleicht..., ich mein... so ohne Abschluss....
|
|
|
|
|
|
|
Man muss seiner Dummheit treu bleiben.
|
|
|
|
|
|
|
Was ich daran so interessant finde, ist folgendes: Jetzt haben wir etwas an der Hand, um eine Intuition für 3D hyperbolische (oder noch krankeres...) Geometrien zu entwickeln. Darauf aufbauend könnte man dann ziemlich coole, weniger AMIGAesque Visualisierungen oder Simulationen treiben.
Von dem besseren Verständnis für daran arbeitende Forscher mal ganz abgesehen.
He pōturi rawa te ipurangi i tēnei rā.
|
|
|
|
|
|
|
Wenn ich das so lese verstehe ich exakt das was in deiner Signatur steht. :-*
| Zitat von SwissBushIndian
Man muss seiner Dummheit treu bleiben.
| |
Deswegen komm ich dich ja jährlich besuchen...
aoooouuuuuuuuuuhhhh....
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von wuSel am 22.03.2017 9:30]
|
|
|
|
|
|
Neuer Versuch: Wenn du Civ spielst, wanderst du 2D immer auf einem Ring. Distanzen sind nicht "gequetscht" an den Polen, wie es auf einem Globus der Fall wäre. Einen Globus "rallt" man aber noch. Der Unterschied ist, dass das eine (positiv*) gekrümmt ist (der Globus), das andere nicht (der Ring, eine Karte, ein Torus). Aber schon was eine gekrümmte, dreidimensionale Sache ist, kann man sich üblicherweise nicht vorstellen. Jeder 3D-Shooter ist effektiv eine flache, dreidimensionale Welt.
Fun fact: So, wie Dante die Welt in seiner Göttlicher Komödie beschreibt, ist das eine dreidimensionale Sphäre (d.h. 3 Winkelkoordinaten statt 2) - d.h. jeder Shooter versagt, das darzustellen. Bisher. Soweit ich weiß. Mit VR könnte man dann z.B. die 3-Sphäre sich anschaulich machen und darauf dann ein 3D-Spiel mit der Göttlichen Komödie als Basis basteln.
*) Für alle normal denkenden Menschen. Der Entwickler eines Standardpakets für Maple hat irgendwann mal schlechtes Gras geraucht als er das Paket machte und deswegen hat das Paket ein anderes Vorzeichen. Denn offensichtlich ist der Globus negativer Krümmung.
No no, marriage is girl code for "abandon all hope, ye who enter here."
|
|
|
|
|
|
|
Moin.
Benutzt hier zufaellig jemand OpenOffice in einem Umfeld von Mitarbeitern, die alle MS Excel nutzen? Werde fuer mein normales Heim-System bald von Windows auf Linux wechseln und bin schwer am ueberlegen, ob ich OpenOffice als Excel-Ersatz eine Chance geben soll.
Insbesondere interessiert mich, ob man in OO auch brauchbare Approximationen (Polynomial-/Exponentialfits, Excel Solver) hinbekommt und ob aufwaendige Plots korrekt dargestellt werden.
Ich werde das im Zweifelsfall eh nochmal selber nachpruefen muessen, aber wenn hier jemand schonmal was aehnliches versucht hat, kann er mir sicher viel Testerei ersparen.
|
|
|
|
|
|
|
Spiel mal (das originale) Prey. Das hat einige lustige Spielereien mit Geometrie.
|
|
|
|
|
|
|
Und läuft sehr gut auf Linux. Und sah/sieht grafisch schön aus, hat eine Runde Story und gutes Gameplay. Ich fand und finde es immernoch ein sehr rundes Paket von Spiel, das gibt es imho selten.
Prey hatte aber "nur" lokale Gravitation, verschachtelte Räume, in sich-selbst verschachtelte Räume und Portale. (Oder ich vergesse was o)
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 22.03.2017 11:54]
|
|
|
|
|
|
Ich brauche mal einen Physiker:
Wenn man einen Gong (oder ein Becken) anschlägt und in ein Wasserbecken tauch, hört man einen deutlichen Abfall der Tonhöhe.
Was genau erzeugt dieses Phänomen?
Hier hieß es, das wäre die Ausbreitungsgeschwindigkeit von Schall in Wasser. Das erscheint mir aber unsinnig da die Frequenz von Schall, soweit ich weiß, unabhängig vom Medium gleich bleibt und nur Wellenlänge und Geschwindigkeit sich ändern. Gleichzeitig ist ja nur ein Teil des Gongs im Wasser, man hört ja eher den aus dem Wasser ragenden schwingenden Teil.
Ist es eher eine Frage von "Masse" die zur Masse des Gongs hinzukommt, oder die Auswirkung des Wasserwiderstands auf die Schwingung?
Letzteres erscheint mir irgendwie näher, so richtig begründen kann ich das allerdings nicht.
|
|
|
|
|
|
|
Ich würde sagen, dass bei einem Gong das umgebende Medium die Eigenfrequenz mitbestimmt, und daher in Wasser anders als in Luft ist.
|
|
|
|
|
|
|
ich würde sagen der Ansatz über die bewegte Masse passt schon ganz gut, ähnlich den singenden Gläsern (mehr Wasser = tieferer Ton)
link
|
|
|
|
|
|
|
Ok es ist passiert, ich bin absolut python versaut.
Ich hab die letzten Jahre eigentlich nur noch in Python rumgescriptet und wollte jetzt gerade mal wieder, nach Ewigkeiten ein kleines c programm schreiben das via UDP Socket etwas versendet. Fuck, ist das eine hässliche Sprache
|
Code: |
memset(&IPv6Sender, 0, sizeof(struct sockaddr_in6));
|
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von con_chulio am 24.03.2017 11:28]
|
|
|
|
|
|
Socket-APIs sind aber auch echt ein Graus an der Stelle
|
|
|
|
|
|
|
Ist doch gar nicht so hässlich.
Ich arbeite gerade an einer Python Sache nebenher und sowieso Java seit drei Jahren.
Jetzt sieht mein Java so aus:
und mein Python:
|
|
|
|
|
|
|
Ich habe letztens eine neue "kreative" Möglichkeit gefunden, um Bedingungen abzuklappern. Ich war nicht überrascht als ich erfahren habe, dass das vor allem bei JavaScript und PHP populär ist.
|
Code: |
public function getEnvironmentVariable($name)
{
switch (true) {
case array_key_exists($name, $_ENV):
return $_ENV[$name];
case array_key_exists($name, $_SERVER):
return $_SERVER[$name];
default:
$value = getenv($name);
return $value === false ? null : $value; // switch getenv default to null
}
} |
|
Quelle
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Danzelot am 24.03.2017 11:47]
|
|
|
|
|
|
| Zitat von csde_rats
Socket-APIs sind aber auch echt ein Graus an der Stelle
| |
Das von dir zu hören beruhigt
|
|
|
|
|
|
|
| Zitat von Danzelot
"kreative" Möglichkeit
| |
Warum? I don't even...
|
|
|
|
|
|
|
so populär, dass ich das noch nie gesehen habe
|
|
|
|
|
|
|
Es ist mir ein Rätsel wieso man sowas anstatt ein paar ifs verwenden sollte. Wtf.
|
|
|
|
|
|
|
Erkenne ich die wichtigen Details nicht oder geht es um Switch/case oder um '? :"?
|
|
|
|
|
|
|
switch(true)
|
|
|
|
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XX ( Der XX(X)-Thread. ) |