不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2017-10-27 19:24:13  修改时间:2024-05-01 11:26:03  分类:C/C++/Rust  编辑

所谓大端就是指高位值在内存中放低位地址,所谓小端是指低位值在内存中放低位地址。比如 0x12345678 在大端机上是 12345678,在小端机上是 78564312,而一个主机是大端还是小端要看CPU类型以及运行在上面的操作系统。同一款CPU在不同的操作系统使用的大小端情况是不同的。当然我们通常使用的 x86 + windows是小端。

作者:Albert.Wen  添加时间:2015-11-15 21:18:05  修改时间:2024-05-02 04:44:20  分类:C/C++/Rust  编辑

Makefile能帮助C语言建立自动化的编译。一旦写好,执行一个make命令就可以编译整个工程。当然编写Makefile文件的时候有很多知识点在里面。这篇文章主要讲解如何编写基础性以及常用的Makefile文件。

作者:Albert.Wen  添加时间:2017-10-27 10:00:40  修改时间:2024-04-14 18:43:11  分类:C/C++/Rust  编辑

Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。Linux则把两者继承了下来,如图示:

作者:Albert.Wen  添加时间:2016-01-09 11:18:47  修改时间:2024-04-14 09:36:01  分类:C/C++/Rust  编辑

Rango会讲解在Linux下从零开始写一个PHP扩展,并编译安装到PHP里,一直到执行扩展中的函数。包含的内容有:

  • 为什么要开发PHP扩展
  • ext_skel工具的使用
  • 修改config.m4
  • phpize的使用
  • 必备工具,autoconf / gcc / make / php5 / php5-dev
  • ZendAPI的使用简介,会介绍几个重要的API
作者:Albert.Wen  添加时间:2017-12-12 17:20:38  修改时间:2024-05-03 11:25:28  分类:C/C++/Rust  编辑

epoll特点好处:

  • 与 select,poll 一样,但是增加了对I/O多路复用的技术
  • 只关心“活跃”的链接,无需遍历全部描述符集合
  • 能够处理大量的链接请求(系统可以打开的文件数目)
作者:Albert.Wen  添加时间:2018-07-17 22:46:07  修改时间:2024-04-14 16:31:39  分类:C/C++/Rust  编辑
作者:Albert.Wen  添加时间:2017-10-27 10:01:29  修改时间:2024-05-03 23:50:55  分类:C/C++/Rust  编辑

待续

作者:Albert.Wen  添加时间:2017-12-13 14:43:17  修改时间:2024-05-03 18:20:21  分类:C/C++/Rust  编辑

Memcached源码分析

作者:Albert.Wen  添加时间:2017-10-26 17:11:52  修改时间:2024-04-29 11:48:41  分类:C/C++/Rust  编辑
  strlen(返回字符串长度)

表头文件

#include <string.h>

定义函数

size_t strlen(const char *s);

函数说明

strlen()用来计算指定的字符串s的长度,不包括结束字符"\0"。

返回值

返回字符串s的字符数。

范例

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
	char *str = "12345678";
	printf("str length = %d\n", strlen(str));

	return 0;
}

执行

str length = 8
作者:Albert.Wen  添加时间:2017-12-11 22:47:07  修改时间:2024-04-20 22:26:52  分类:C/C++/Rust  编辑

异步网络模型在服务开发中应用非常广泛,相关资料和开源库也非常多。项目中,使用现成的轮子提高了开发效率,除了能使用轮子,还是有必要了解一下轮子的内部构造。

这篇文章从最基础的5种I/O模型切入,到I/O事件处理模型,再到并发模式,最后以Swoole开源库来做具体分析,逐步深入。文中提到的模型都是一些通用的模型,在《Linux高性能服务器编程》中也都有涉及。文章不涉及模型的实现细节,最重要的是去理解各个模型的工作模式以及其优缺点。