欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-18 13:12:04
...
以下代码可能需要一定的c/c++基础。

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

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

common.h

#pragma once
typedef int (*pt)(void);
void init_2();

2.cpp
#include 
#include "common.h"
using namespace std;
static pt next_pt;
extern pt top_pt;
int filter_2()
{
    cout 1.cpp
#include 
#include "common.h"
using namespace std;
static pt next_pt;
pt top_pt;

static int filter_1()
{
    cout编译命令 

g++ 1.cpp 2.cpp -g -O0

执行

./a.out

filter_2
filter_1
如果你已经编程并执行成功,请继续往下看.

top_pt 为全局变量

next_pt为局部全局变量

如果你想知道

top_pt 在每次代码执行时都会变化,不断地指向新的链表头部,通过init_*函数的不断执行,一条链表就产生了。看起来就像是用全局变量组成了一条单项链表。

好吧,又是奇淫技巧,如是而已!

以上就介绍了类似 nginx 编译时生成函数链表,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。