笔迹-工匠之芯

穷则独善其身,达则兼济天下

阅读笔记:动态内存分配 + 指针小结

1.什么是内存的动态分配 2.怎样建立内存分配 3. 指针小结

阅读笔记:指针数组和多重指针

1. 什么是指针数组一个数组,其元素均为指针类型的数据,被成为指针数组。也就是说,指针数组中的每一个元素都存放一个地址,相当于一个指针变量。下面定义一个指针数组。 ##1.1 样例分析 2. 指向指针的指针

阅读笔记:指针数组和多重指针

1.指向函数的指针1.1什么是指针函数 1.2 怎样定义指向函数的指针变量定义指向函数的指针变量一般形式为: 例如 int (*p)(int a, int b); 这里的 “类型名” 是指函数返回值的类型。 1.2.1说明 定义指向函数的指针变量,并不意味着这个指针变量可以指向任何函数,它只能指向在定义时指定的类型的函数。在同一个程序中,一个指针变量可以先后 …

环境搭建:CLion 搭建 PHP 扩展开发环境

#1. PHP扩展代码框架搭建 此处,可以参考本博客原来的文章进行框架代码搭建。 【PHP扩展开发1:代码框架搭建】 2. 从源文件导入CLion工程 点击clion菜单栏File -> Import Project 选择扩展目录 -> 选择项目所要的文件 -> 点击确认 因为clion是由CMakeList.txt文件进行,所以当导入 …

编程笔记:C语言回调函数

在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。 假设我们要使用一个排序函数来对数组进行排序,那么在主程序(Main program)中,我们先通过库,选择一个库排序函 …

源码阅读:PHP TSRM 线程安全管理器

TSRM 简介在查看php源代码或开发php扩展的时候,会出现大量 TSRMLS_ 宏字样在函数参数的位置,这些宏就是Zend为线程安全机制所提供的(Zend Thread Safety,简称ZTS)用于保证线程的安全 , 是防止多线程环境下以模块的形式加载并执行PHP解释器,导致内部一些公共资源读取错误,而提供的一种解决方法。 什么时候需要用 TSRM只要 …

PHP扩展开发2.2:线程安全

背景介绍 线程安全是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。 一般来说,线程安全的函数应该为每个调用它的线程分配专门的空间,来储存需要单独保存的状态(如果需要的话),不依赖于“线程惯性”,把多个线程共享的变量正确对待(如,通知编译器该变量为“易失(volatile)”型,阻止其进行一些 …

PHP扩展开发2.1:PHP生命周期

#1. PHP SAPI 无论是Web模式、FastCgi模式、CLI模式,PHP的工作原理都是一样的,都是作为一种SAPI在运行(Server Application Programming Interface : the API sed by PHP to interface with Web Servers)。当我们在终端敲入php这个命令时候,它使用 …