Extern verursacht Hung -Problem unter LinuxLinux

Linux verstehen
Anonymous
 Extern verursacht Hung -Problem unter Linux

Post by Anonymous »

Ich habe ein Projekt, das ich beim Abschluss des Programms entwickle und beobachte.#include
#include
#include

namespace A
{
namespace B
{
std::string ab;
std::map cMap;
}
}

namespace
{
void someFuntionInUtil()
{
A::B::ab = "CPP";
A::B::cMap.insert( {"abc", 1} );
}
}

int main()
{
someFuntionInUtil();
return 0;
}
< /code>
Geschäftslogik stellt sicher, dass die Util -Datei zuerst ausgeführt wird. Sie können also annehmen, dass AB und CMAP vor der Ausführung einer anderen Logik initialisiert werden.#include
#include
#include
#include

namespace A::B
{
extern std::string ab;
extern std::map cMap;
}

namespace
{
void someFunctionInImpl()
{
std::cout
Obwohl das Programm eine Fein- und Geschäftslogik erstellt, wird ohne Schluckauf ausgeführt, aber beim Verlassen des Programms hängt das Programm auf und verlässt nie. Ich habe dies debuggen und da ich Variablen in einem Namespace für mich hässlich schien, zog ich sie in eine Klasse und machte sie statisch. Ich habe auch die Datei geändert, in der sie verwendet wird (extern entfernt und verwendete den Operator der Bereichsauflösung wie Klasse :: Variable). Zu meiner Überraschung hat es funktioniert. Ich frage mich nur, was hinter den Kulissen passiert sein mag?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post