


Ähnlich wie bei Nginx wird beim Kompilieren eine funktionsverknüpfte Liste generiert
Der folgende Code erfordert möglicherweise eine bestimmte C/C++-Grundlage.
Erfordert einige Kenntnisse über Funktionszeiger
Klicken Sie hier für eine ausführliche Analyse von Funktionszeigern
common.h
#pragma once typedef int (*pt)(void); void init_2();
2 .cpp
#include <iostream> #include "common.h" using namespace std; static pt next_pt; extern pt top_pt; int filter_2() { cout<<"filter_2"<<endl; if(next_pt) next_pt(); } static void filter_2_init() { next_pt = top_pt; top_pt = filter_2; } void init_2() { filter_2_init(); }
#include <iostream> #include "common.h" using namespace std; static pt next_pt; pt top_pt; static int filter_1() { cout<<"filter_1"<<endl; if(next_pt) next_pt(); } static void filter_init() { next_pt = top_pt; top_pt = filter_1; } void init_1() { filter_init(); } int main() { init_1(); init_2(); top_pt(); return 0; }
g++ 1.cpp 2.cpp -g -O0
execute
./a.out
filter_2
filter_1
falls Sie programmiert haben Und die Ausführung ist erfolgreich, lesen Sie bitte weiter.
top_pt ist eine globale Variable
next_pt ist eine lokale globale Variable
Wenn Sie wissen möchten, was
top_pt befindet sich in jedem. Es ändert sich jedes Mal, wenn der Code ausgeführt wird, und zeigt ständig auf den Kopf der neuen verknüpften Liste. Durch die kontinuierliche Ausführung der Funktion init_* wird eine verknüpfte Liste generiert. Es sieht aus wie eine einfach verknüpfte Liste, die aus globalen Variablen besteht.
Okay, es ist wieder eine seltsame Technik, das ist alles!
Das Obige hat die von Nginx beim Kompilieren generierte verknüpfte Funktionsliste vorgestellt, einschließlich der relevanten Aspekte. Ich hoffe, dass sie für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen




![So beheben Sie den Fehler „[Vue-Warnung]: Fehler beim Auflösen des Filters'.](https://img.php.cn/upload/article/000/887/227/169243040583797.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Methoden zur Behebung des Fehlers „[Vuewarn]:Failedtoresolvefilter“ Während des Entwicklungsprozesses mit Vue stoßen wir manchmal auf eine Fehlermeldung: „[Vuewarn]:Failedtoresolvefilter“. Diese Fehlermeldung tritt normalerweise auf, wenn wir in der Vorlage einen undefinierten Filter verwenden. In diesem Artikel wird erläutert, wie dieser Fehler behoben werden kann, und es werden entsprechende Codebeispiele aufgeführt. Wenn wir in Vue sind

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

1. Filter Sehen Sie sich zunächst den Standort des Filters auf dem Webserver an. Filter ist eine Kette, die vorher und nachher verbunden ist. Nachdem die vorherige Verarbeitung abgeschlossen ist, wird sie zur Verarbeitung an den nächsten Filter übergeben. 1.1Filterschnittstellendefinition publicinterfaceFilter{//Initialisierungsmethode, die im gesamten Lebenszyklus nur einmal ausgeführt wird. //Filterdienste können erst bereitgestellt werden, wenn die Init-Methode erfolgreich ausgeführt wurde (Fehler wie das Auslösen einer Ausnahme usw.). //Der Parameter FilterConfig wird verwendet, um den Initialisierungsparameter abzurufen publicvoidinit(FilterConfigfilterConfig)throwsServletException;//

Definieren Sie zunächst einen Filter für das Abfangen von Unified Access-URLs. Der Code lautet wie folgt: publicclassUrlFilterimplementsFilter{privateLoggerlog=LoggerFactory.getLogger(UrlFilter.class);@OverridepublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{H

Hinweis 1. Wenn der Lambda-Parameter einen wahren Wert generiert, generiert der Filter (Lambda, der ein boolesches Ergebnis generieren kann) ein Element 2. Wenn ein falscher Wert generiert wird, wird dieses Element nicht mehr verwendet. Beispiel zum Erstellen einer Listensammlung: ListstringCollection=newArrayList();stringCollection.add("ddd2");stringCollection.add("aaa2");stringCollection.add("bbb1");stringC

Detaillierte Erläuterung der CSS-Fuzzy-Eigenschaften: Filter und Hintergrundfilter Einführung: Beim Entwerfen von Webseiten benötigen wir häufig einige Spezialeffekte, um die visuelle Attraktivität der Seite zu erhöhen. Der Unschärfeeffekt ist einer der häufigsten Spezialeffekte. CSS bietet zwei Unschärfeattribute: Filter und Hintergrundfilter, die zum Unschärfen von Elementinhalten bzw. Hintergrundinhalten verwendet werden. In diesem Artikel werden diese beiden Eigenschaften ausführlich erläutert und einige konkrete Codebeispiele bereitgestellt. 1. Filter

Analyse der visuellen CSS-Eigenschaften: Box-Shadow, Text-Shadow und Filter Einführung: Im Webdesign und in der Webentwicklung kann CSS verwendet werden, um Elementen verschiedene visuelle Effekte hinzuzufügen. Dieser Artikel konzentriert sich auf die drei wichtigen Eigenschaften von Box-Shadow, Text-Shadow und Filter in CSS, einschließlich ihrer Verwendung und Effektanzeige. Im Folgenden analysieren wir diese drei Eigenschaften im Detail. 1. Box-Shado (Box-Shado) Box-Shado

Optionale Klasse in Java8: So verwenden Sie die filter()-Methode, um möglicherweise Nullwerte zu filtern. In Java8 ist die optionale Klasse ein sehr nützliches Werkzeug, das es uns ermöglicht, möglicherweise Nullwerte besser zu verarbeiten und das Auftreten von NullPointerException zu vermeiden. Die optionale Klasse bietet viele Methoden zum Bearbeiten potenzieller Nullwerte. Eine der wichtigen Methoden ist filter(). Die Funktion der filter()-Methode ist die if-Option
