Platform für Debatten?

Ich stelle mir folgendes vor (Gibt es etwas vergleichbares?) :

- Streitfragen werden als Mindmaps dargestellt

- Argumente werden erst aufgenommen, wenn es in der Community eine gewisse Anzahl an Leuten gibt, die das Argument für wichtig halten

- Dopplungen werden unbedingt vermieden, Variationen werden als Varianten in der Map dargestellt. Es gibt eine KI Löszng die automatisch prpft ob es sich vermutlich um eine Dopplung handelt

- Zu jedem Argument wird markiert ob es Gegenargumente gibt und es wird versucht anzugeben ob das jeweilige Argument dadurch entkräftigt wird oder nicht

- Logische Fehlschlüsse können markiert werden mit einer Liste vorgefertigter Bezeichnungen, die direkt auf die jeweiligen Definitionen verlinken

- Belege für Argumente können direkt mit angegeben werden und es wird markiert, in wieweit ein Argument bereits wissenschaftlich gedeckt ist und ob die Art von Argument überhaupt falsifizierbar ist etc.

- Es gibt die Möglichkeit, Kommentare abzugeben für die gevotet werden kann

---------

Insgesamt geht es also eine graphische Darstellung von intellektuellen Fragestellungen die sicherstellen soll, den Überblick zu bewahren und das 100 fache diskutieren der gleichen Themen unterbinden soll.

Sodass entweder eindeutig die richtige Seite festgestellt oder eindeutig die unentscheidbaren Argumente festgestellt werden kann.

(Ich finde wissenschaftlichen Diskurs zu untransparent für Außenstehende / und Debatten zu intransparent, redundat und unwissenschaftlich)

Soziale Netzwerke, Wissenschaft
Wie funktioniert eventbasierte Programmierung?

Laut dem, was ich bisher gehört habe, funktionieren Events rein reaktiv, will meinen, dass erst mit dem Eintritt des Events etwas ausgeführt wird und das Programm ansonsten "schläft".

Wie wird das umgesetzt?

Angenommen, ich möchte, dass der Bildschirm rot eingefärbt wird, wenn man die Leertaste drückt, würde man ja üblicher Weise in einer Schleife pollen, ob die Taste gerade gedrückt ist.

Events sollen jetzt ja aber diese Abfrage unnötig machen. Mich würde aber interessieren wie das gemacht wird.

Meine Idee ist, dass ein Event nichts weiter ist, als ein function-call aller Funktionen (oder Aufruf aller Prozesse / Threads) (eventhandler?), deren Adresse beispielsweise in Form eines function-pointers in irgend einer Form von container, zB. einem Vektor, hinterlegt sind, ich nehme mal an, beim Betriebssystem oder zumindest der nächsthöheren Instanz und die wieder, sodass das dann früher oder später beim Betriebssystem hinterlegt ist.
Tritt nun also beim Betriebssystem, der Fall ein, dass die Taste gedrückt wird, führt das Betriebssystem alle hinterlegten Funktionen aus, also "aktiviert" quasi die eventhandler.
Somit würde nicht gepollt werden, das was ausgeführt wird (in dem Fall die Funktion) passiert im Prinzip rein reaktiv auf das Event, welches vom Betriebssystem ausgelöst wird.

Vielleicht ist das ja der tatsächliche Weg, aber wenn nicht, wie funktioniert es wirklich?

Und wenn es tatsächlich so funktioniert, wie macht es dann das Betriebssystem? Bei meiner Methode müsste ja früher oder später gepollt werden. Zwar hätte man den Vorteil, dass für alle Programme die in irgend einer Form auf den Tastendruck reagieren sollen, nur einmal zentral gepollt werden muss und nicht für jedes einzeln, aber es würde ja dennoch dem Eventprinzip widersprechen oder nicht? Schließlich wäre es nicht REIN reaktiv.
Ich glaube, dass es für ein rein reaktives System nötig wäre, bis auf die hardware-ebene zurückzugehen, wo halt irgend ein decoder auf das binäre Signal der entsprechenden Taste anspringt und eine 1 liefert, deren Leitung mit dem Prozessorbefehl oder was auch immer verbunden ist (bzw halt digital "freigeschalten" ist), der dann das Event auslöst (was sich dann aber kaum noch von einer Schleife mit der Überprüfung des Signals unterscheidet, da ja auch das dauerhaft einen Teil des Prozessor beanspruchen / belegen würde)?

Also, wie ist es wirklich? :)

Computer, Technik, Event, programmieren, Technologie
c, c++ | LNK2019, Verweiß auf nicht aufgelöstes externes Symbol?

Natürlich habe ich, bevor ich hier frage, auch schon im Internet nach vorherigen ähnlichen Problemen gesucht und die gab es natürlich auch, aber keine der bereits vorhandenen Lösungen hat mir in meinem speziellen Fall wirklich geholfen.

Soweit wie ich es verstanden habe, meint dieser Error, dass man zB innerhalb einer Funktion einen Funktionsaufruf hat, von einer Funktion aus einer anderen Datei, diese findet der Linker aber nicht.

Es ist auch tatsächlich so, dass ich neben der Datei meiner main auchnoch andere Dateien verwende, nämlich genau zwei: header.h und header.cpp.

In der Headerdatei habe ich nur Deklarationen, in der cpp die entsprechenden Definitionen, beide Dateien habe ich im richtigen Verzeichnis und auch im Projekt-Explorer hinzugefügt, compilieren kann ich auch alles.

Bisher hatte es eigentlich immer funktioniert (unter der Voraussetzung dass ich die Dateien im Proj-Expl hinzugefügt habe)

Jetzt habe ich im selbigen namespace 4000 weitere Zeilen hinzugefügt, welche extern auch problemlos funktioniert haben und auch hier wird intellisense keine Fehler, aber sobald ich irgend eine der neuen Funktionen verwende (die alten gehen nach wie vor), wirft mir der Linker den Fehler LNK2019

(ConsoleApplication47.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl MS::Experimental::save<int>(char const * const,int &)" (??$save@H@Experimental@MS@@YA_NQBDAAH@Z)" in Funktion "_main")

Zugegeben, es ist nicht ganz der gleiche namespace, aber der namespace befindet sich im gleichen namespace.

In der Headerdatei liegen die gleichen namespaces mit den Deklarationen und Visual Studio findet auch die dazugehörigen Definitionen.

Woran könnte es liegen? Muss ich vielleicht irgendwo in den Projekteinstellungen unter Linker eigentlich noch angeben, dass ich Funktionen aus der cpp nutze? Oder muss ich die Deklarationen mit dem Schlüsselwort extern machen?

Danke im Voraus schonmal für alle Antworten.

Hier noch für die die sich den Code durchlesen wollen (zumindest Teile)

Header:

namespace MS
{
  namespace Experimental
  {
    template <>  //Spezialisierung von vorheriger Funktion
    bool save(const char varName[], char &var);
  }
}

Cpp:

http://codepad.org/I6zkckyk       (ist zu lang)

Ich weiß, das ist alles im Moment noch nicht so schön gelöst, aber das ist ja auch noch nicht fertig :)

Alle Konstanten mit F_ sind im header definiert und werden erkannt.

Alle Funktionen mit F_ sind für den namespace von mir erstellte Funktionen, sie befinden sich über dieser Funktion.

Computer, Technik, programmieren, CPP, Technologie, Spiele und Gaming
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.