Maison  >  Article  >  développement back-end  >  类似 nginx 编译时生成函数链表

类似 nginx 编译时生成函数链表

WBOY
WBOYoriginal
2016-08-08 09:22:181177parcourir

以下代码可能需要一定的c/c++基础。

需要有一些函数指针的知识

深度剖析函数指针点击这里

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 1.cpp
<pre name="code">#include <iostream>
#include "common.h"
using namespace std;
static pt next_pt;
pt top_pt;

static int filter_1()
{
    cout编译命令 
<p>g++ 1.cpp 2.cpp -g -O0</p>
<p>执行</p>
<p>./a.out</p>
<p>filter_2<br>filter_1<br>如果你已经编程并执行成功,请继续往下看.</p>
<p>top_pt 为全局变量</p>
<p>next_pt为局部全局变量</p>
<p>如果你想知道</p>
<p>top_pt 在每次代码执行时都会变化,不断地指向新的链表头部,通过init_*函数的不断执行,一条链表就产生了。看起来就像是用全局变量组成了一条单项链表。</p>
<p>好吧,又是奇淫技巧,如是而已!<br></p>
                
                
                <p>
                    以上就介绍了类似 nginx 编译时生成函数链表,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p>
                <p>
                    </p>
             </iostream>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn