由于最近准备深入学习一下Linux驱动。因此见到不少内核中的数据结构,其中List是应用非常广泛的数据结构,因此在这里做个记录。
Linux内核中相关的文件是/include/list.h
这里先贴一下代码:
#define LIST_HEAD_INIT(name) {&...
smallfish
5年前 (2019-11-27) 2152℃
3喜欢
前两天开始刷letcode,发现了这个题目。一开始看这个题目挺简单的,而且力扣上面也是中等难度,结果提交好几次都失败,最后看到一位题友写的,看了几遍才了每一步执行的意图。不得不惊叹别人思维是如此地灵动跳跃。
下面想分享出来,并再次理解一下。所有权归作者。未能征得作者许可,...
smallfish
5年前 (2019-07-16) 32750℃
0喜欢
在嵌入式开发板上使用百度iot-edge-c-sdk的BOS测试时,出现
Error: Time:Fri Oct 12 13:18:51 2018 File:/root/Clion_Projects/Security_IoT/iot-edge-c-sdk/c-utility/a...
smallfish
6年前 (2018-10-12) 1794℃
0喜欢
先解决这个问题,后面再展开几个相关库的内容。
该错误产生的原因非常明确,即共享库加载失败。一般后续还有更详细的信息“:cannot open shared object file: No such file or directory”,即提示无法打开共享目标文件,找不到此文件或目...
smallfish
7年前 (2018-06-27) 1692℃
0喜欢
上一篇文章写了ffmpeg工具(ffmpeg/ffplay/ffprobe/ffserver)以及静态库的编译与安装。但是按大多数教程上说的使能动态编译库则编译通不过,大多数错误形如:relocation R_X86_64_32 against `.rodata.str1.1' ...
smallfish
7年前 (2018-04-27) 3209℃
2喜欢
文章主要参照:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
文章编译方式的好处是把大部分相关部件编译进临时或本地文件,方便后续清理。但是我在使用的时候总是各种问题,所以非常头疼,所以跟着文章说明,把所有相关性的东西都装到...
smallfish
7年前 (2018-04-26) 3648℃
1喜欢
话不多说,先上代码
#include <stdio.h>
int main(int argc, char *argv[])
{
const int a = 10;
int *p = &a;
printf("...
smallfish
7年前 (2018-04-20) 2880℃
1喜欢
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
pthread_cond_t pthread_cond = ...
smallfish
7年前 (2017-11-11) 1805℃
0喜欢
在JNI编程中,一般是在Java中调用C方法,用以实现Java向下传递信息。而反方向上的传递则有更多有趣的应用,例如利用C向Java实现异步通知,或触发事件,这种情况通常称为反射(Reflection)。
public class MyJni {
static{
...
smallfish
7年前 (2017-10-24) 2207℃
2喜欢
对于Json倒是早有接触,只是没有在C下实现过。因项目开发需要特别研究了下,还有现成的C源码,于是就不准备自己写了,直接用别人的轮子就好。这里记录一下cJSON的使用,以备后用。
cJSON主要功能就是完成从json格式字符串转json对象及其逆过程。当然,还有对于json对象的...
smallfish
7年前 (2017-10-13) 3943℃
0喜欢