- 博客(10)
- 收藏
- 关注
原创 interface
确保类型实现接口(依赖编译器) type Jedi interface { HasForce() bool } type Knight struct { } var _ Jedi = (*Knight)(nil) or var _ Jedi = new(Knight) func main() { } func (Knight) HasForce() bool { return f...
2019-09-19 21:31:12 111
原创 关于多返回值
a, err := test() if err != nil { println(a) } a, err := test()//错误 因为a和err变量都已经在上面声名 b, err := test()//正确,但是不会重新创建err,因为上面已经有了 //“_”不能作为返回值 //例1 var err error err = errors.New("")//1 if true {...
2019-09-19 21:29:26 153
原创 golang不安全指针
结构体的成员变量在内存存储上是一段连续的内存 结构体的初始地址就是第一个成员变量的内存地址 基于结构体的成员地址去计算偏移量。就能够得出其他成员变量的内存地址 unsafe.Pointer是一个指针类型 值不能被取消引用? 如果unsafe.Pointer变量仍然有效,则由unsafe.Pointer变量表示的地址处的数据不会被GC回收 实质是int类型 不可以参与指针运算 ui...
2019-09-19 09:05:51 356
原创 swoole学习笔记
swoole是php的一个扩展,主打高性能的网络编程扩展,由于扩展使用c语言编写,性能上会比php实现的框架快很多。而且因为swoole的内部实现给php提供了比apache+php更多的灵活性。接触swoole也已经有1年有余,在公司项目也使用了swoole为app提供功能服务。春节期间在家为了能更好的使用swoole,深入的了解内部实现,于是特别去阅读了swoole主要的核心源码。为了阅读c代...
2018-03-05 23:03:48 449
原创 guetzli图片压缩php扩展
前言:在github的发现一个谷歌开源的jpeg格式图片的压缩工具,它可以在主观质量无损的条件下, 将jpeg图片减少20%~30%的码率,于是当时测试了一下压缩效果,图片质量95压缩率大概在20%~30%。我们司平台是漫画阅读app,整个app除了图片还是图片,特别是首页,用了大量的高清无码的图片,于是我想将guetzli用于首页漫画封面图片的压缩,但是guetzli并没有提供php的接口,所以
2017-12-08 16:11:16 1341
原创 编译安装lmap环境
sudo apt-get install openssh-server(安装ssh服务后xshell才能进行连接) echo $?(这条命令可以检查配置是否有错误,返回0) libc++ 为LLVM 项目重新编写,包含C++ 11 标准库。 Libstdc++ 是标准的C++ 库。 g++ 编译器正确运行需要它。 zlib 是提供資料壓縮之用的函式庫 GLib是GTK+和GNOM
2017-12-08 09:33:49 587
原创 单例模式
class SingletonMode { //1.静态属性,用于存储new的对象 //2.因为是静态属性,所以在整个php生命周期会永久存在 private static $obj; //1.私有构造函数 //2.当前类只能在内部实例化,而无法在外部实例化 private function __construct() {} //getObj用于外部获取实例化的对象 //只能通过
2016-10-22 11:51:53 142
原创 const关键字
有关于const int *pId、int const *pId、int *const pId; const int *pId //可以修改指针变量pId的值,但是不能修改指针变量pId指向地址的值 示例代码: int id1 = 20; int id2 = 60; const int *pId = &id1; //*pId = 100; //报错 pId = &id2
2016-10-21 11:03:40 160
原创 基础知识
C语言的编译分为四个阶段: .c文件->.i文件(预编译) 宏就是发生在预处理阶段单纯的字符串替换(宏不考虑C的语法) linux下可以在编译命令后面加上 "-E" 意思是只执行预编译 .i文件->.s文件(编译) .s文件->.o文件(汇编) .o文件->可执行文件(连接) 变量的声明和定义 1、建立空间存储的声明称为定义,不需要
2016-10-21 11:02:07 142
原创 指针与数组
指针与数组 1、C语言在表达式中把一个类型为T的数组的左值当作是指向该数组第一个元素的指针。 2、一个数组就是一个地址,一个指针就是一个地址的地址。 3、对数组的引用如a[i]在编译时总是被编译器改写成*(a+i)。 4、把传递给函数的数组参数转换为指针是出于效率的考虑。 指针与数组并不相同 1、 数组和指针在编译器处理时是不同的,在运行时的表示形
2016-10-21 10:55:44 224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人