不灭的火

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

作者:AlbertWen  添加时间:2017-10-26 17:11:52  修改时间:2025-03-28 12:32:45  分类:13.C/C++/仓颉  编辑
  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
作者:AlbertWen  添加时间:2017-12-11 22:47:07  修改时间:2025-03-26 10:55:24  分类:13.C/C++/仓颉  编辑

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

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

作者:AlbertWen  添加时间:2017-10-29 09:51:57  修改时间:2025-03-28 14:16:05  分类:13.C/C++/仓颉  编辑

DBProxy:是由美团点评公司技术工程部DBA团队(北京)开发维护的一个基于MySQL协议的数据中间层。它在奇虎360公司开源的Atlas基础上,修改了部分bug,并且添加了很多特性。

作者:AlbertWen  添加时间:2015-11-28 11:48:49  修改时间:2025-03-29 23:22:15  分类:13.C/C++/仓颉  编辑

RETURN_LONG(123) 宏替换后:

{
    {
        zval *__return_value = (return_value);
        (*__return_value).value.lval = 123;
        (*__return_value).type = IS_LONG;
    };
    return;
}
作者:AlbertWen  添加时间:2017-12-12 17:38:09  修改时间:2025-03-31 15:15:13  分类:13.C/C++/仓颉  编辑

C语言字 符数组 和 字符串 详解

作者:AlbertWen  添加时间:2019-09-08 00:52:35  修改时间:2025-03-27 19:16:11  分类:13.C/C++/仓颉  编辑

C语言 字符指针(指向字符的指针)详解

作者:AlbertWen  添加时间:2017-10-18 17:14:50  修改时间:2025-03-31 14:05:32  分类:13.C/C++/仓颉  编辑

我用的是 cmake 编译,增加参数 -fgnu89-inline ,参考代码如下:

add_definitions(-fgnu89-inline)

参考:cmake参数 与 命令详解

 

作者:AlbertWen  添加时间:2017-12-13 14:45:24  修改时间:2025-03-28 11:30:43  分类:13.C/C++/仓颉  编辑

sizeof是何方神圣?sizeof乃C/C++中的一个操作符(operator)是也,简单的说,其作用就是返回一个对象或者类型所占的内存字节数。

作者:AlbertWen  添加时间:2017-10-26 18:15:27  修改时间:2025-03-27 21:58:22  分类:13.C/C++/仓颉  编辑

条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程。这些线程将重新锁定互斥锁并重新测试条件是否满足。一般说来,条件变量被用来进行线承间的同步。

作者:AlbertWen  添加时间:2017-10-26 14:29:55  修改时间:2025-03-28 08:13:28  分类:13.C/C++/仓颉  编辑

提问一:

Linux IO多路复用有 epoll, poll, select,知道epoll性能比其他几者要好。也在网上查了一下这几者的区别,表示没有弄明白。

IO多路复用是什么意思,在实际的应用中是指什么情况?

以及IO多路复用在一些异步web server中的实际应用,就好比nginx是怎样使用epoll来实现异步IO处理的,一个请求到来了,nginx使用epoll接收请求的过程是怎样的?