- 博客(53)
- 资源 (11)
- 收藏
- 关注
原创 mac编译ffmpeg
因为`openssl安装在/usr/local/opt/openssl@3/`文件夹下,`pkg-config --list-all | grep ssl`找不到libssl, 所以添加PKG_CONFIG_PATH:`export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/openssl@3//lib/pkgconfig`
2023-08-09 00:01:01
856
原创 shell - jq 处理json
Useful Link:offical manual link:jq Manual (development version)中文版:jq 中文手册(v1.5) | jq 中文手册 常用操作:jq 常用操作 - Huang Huang 的博客 处理实例:Shell:无比强大的shell之json解析工具jq , Linux命令行解析json, jq解析 json 实例
2021-12-30 15:10:56
2745
原创 Undefined reference to xxx
缺少函数定义的库文件(.so, .a)或者目标文件(.o)多个目标文件,库文件链接的顺序:定义的文件应该放在后面c++和c的混合编程第1,2点很常见了,对于第3点:由于c++与c编译之后生成的符号不同,如果库文件是使用c++编译出来的,而c编译器使用...
2021-08-05 11:49:05
119
原创 最大堆, 最小堆, priority_queue
最大堆,最小堆最大堆:每个节点的孩子节点都小于该节点最小堆:每个节点的孩子节点都大于该节点由于堆是一棵完全二叉树,所以如果堆中的节点i有左右孩子节点,则:左孩子节点:i x 2 + 1右孩子节点:i x 2 + 2如果堆中的节点j有父节点,则:父节点:(j-1)/2建立最大堆:void AdjustHeap(std::vector<int> & heap, int cur, int length){ int left = cur * 2 + 1..
2021-05-10 17:27:49
171
1
原创 Linux进程与线程
程序执行:进程与线程的主要区别:进程是资源(存储资源)分配的单位,而线程是task调度(cpu)的单位进程进程是资源分配的基本单位,是由于每个进程都有自己的虚拟内存空间,都是独立寻址。这也是为什么需要有进程间通信的机制。进程的地址空间结构:进程的创建:创建虚拟内存空间,初始化页表目录,用于将虚拟内存空间映射到物理内存读取可执行文件头,创建可执行文件与虚拟内存空间的映射关系,用于之后缺页的时候将文件从磁盘载入物理内存将cpu的指令寄存器设置为进程执行的入口地址(还涉及上下文切换等)
2021-04-29 16:21:59
326
原创 Linux下google test搭建
code:https://gitee.com/kacakaca/Test/tree/master/googletest_examples文件目录结构如下:其中:cmake相关文件有两个:./CMakeLists.txt 和./example/src/CMakeLists.txtCmakeLists.txtcmake_minimum_required(VERSION 3.14)project(googletest_example)set(CMAKE_CXX_STANDARD 11)
2021-04-26 16:19:28
329
原创 gdb调试
gdb调试使用gdb 调试方法,首先要在gcc编译时加入-g选项。基本命令:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.html gdb 进入调试 //或者gdb exc_file core_file 调试core dump文件 (gdb) file exc_file //调试exc_file文件 查看内存映射:`(gdb) i proc mapping` 设置参数: `run -d 1 -s xxx` (参数为 ‘
2021-04-16 15:41:04
166
原创 c++ program_options实现子命令
code: https://gitee.com/kacakaca/Test/blob/master/basic_cpp/parseoptions.cpp使用g++ -std=c++11 parseoptions.cpp -lboost_program_options编译后:capture command: ./a.out capture --device 2 --stream 1920x1080@30control command: ./a.out control -z 150 -m 10,30 -b
2021-03-04 17:24:58
571
1
原创 c++ 获取时间戳
c++ 获取时间戳:#include <iostream>#include <iomanip>#include <ctime>#include <chrono>#include <sstream>int main(){ std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); int64_t timepoint ..
2021-03-04 16:50:52
2064
1
原创 YUV数据格式
yuv格式之间视频格式转换:ffmpeg -pix_fmt yuv420p -s 176x144 -i input_420p_176x144.yuv -pix_fmt yuyv422 output_yuyv422_176x144.yuvyuv格式视频下载:http://trace.eas.asu.edu/yuv/https://www.jianshu.com/p/2933b1cbebf6YUV格式的采样和映射:https://glumes.com/post/ffmpeg/understand-yuv
2021-02-01 16:44:09
164
1
原创 grpc stream c++ example
codes: https://github.com/kacakaca/Test/tree/master/grpc_examples可在ubuntu上成功执行(需要安装grpc),执行make后生成可执行文件server和client。然后分别在不同的terminal运行./server和./client。service定义的information.proto中server的实现在server.cc中client的实现在client.cc中实现了4种service rpc A..
2021-01-12 17:53:54
1820
原创 Makefile相关
教程:https://seisman.github.io/how-to-write-makefile/rules.html-Wl, --as-needed和-Wl, --no-as-needed(LDFLAGS)https://my.oschina.net/yepanl/blog/2222870https://www.zhihu.com/question/52043468通过指定-Wl, --as-needed选项,在链接的过程中,链接器会检查所有的依赖库,没有被实际用到的动态库不会被链..
2021-01-12 16:46:56
287
2
原创 grpc route_guide执行时遇到Aborted core dumped
复现步骤:在一个terminal执行./route_guide_server,另一个terminal执行./route_guide_client. 在执行./route_guide_client的时候出错显示“Aborted(core dumped)”查找问题:利用gdb,执行gdb ./route_guild_client,在run之后,显示received signal SIGABRT. 查看bt,显示是由于调用了/usr/local/lib/libgrpc++.so.1中的grpc_slic.
2021-01-11 13:10:57
249
原创 lambda表达式
参考:https://www.cnblogs.com/DswCnblog/p/5629165.htmlhttps://en.cppreference.com/w/cpp/language/lambda完整格式:[ captures ] ( params ) specifiers exception attr -> ret { body }captures: 捕获列表params:传入参数specifiers: `mutable`, `constexpr`, `consteval.
2021-01-08 16:08:00
168
原创 grpc stream的应用场景
stream的应用场景接口需要发送大数据量的场景实时要求高的场景https://cloud.tencent.com/developer/article/1445070https://zhuanlan.zhihu.com/p/141677241service-side rpc streaming场景:股票app:客户端向服务端发送一个股票代码,服务端就把该股票的实时数据源源不断的返回给客户端app的在线push:client先发请求到server注册,然后server就可以发在
2021-01-07 13:43:21
2249
原创 0.0.0.0 vs 127.0.0.1
127.0.0.1 vs 0.0.0.0 vs localhost区别:https://cloud.tencent.com/developer/article/10310201.若只想本机使用的服务,不允许同局域网的设备访问,使用:127.0.0.1或localhost (前提是已经做了host映射);2.若想本局域网的主机都可访问但外网不可访问,监听本主机的IP地址,例如:192.168.1.2;3.若想本局域网的主机和外网都可访问,监听0.0.0.0就可以总结:localhos..
2021-01-05 15:01:27
350
原创 编译grpc route_guide example的时候遇到#error This file was generated by an old version of protoc
编译grpc route_guide example的时候遇到#error This file was generated by an old version of protoc原因:系统中有两个protoc版本(之前下载了protobuf的git,当时编译安装了一遍。然后下grpc的git,在编译的时候按照教程使用“cmake -DgRPC_INSTALL=ON …”之后make install又安装了一遍。)解决:把route_guide example 中的Makefile的protoc版本改
2021-01-04 11:25:15
405
原创 解决symbol lookup error, undefined symbol: _ZN9grpc_impl7Channel8GetStateEb
问题:在run ./test的时候出现“symbol lookup error, undefined symbol: _ZN9grpc_impl7Channel8GetStateEb”解决:观察这个symbol, 发现应该是在grpc的库中,因此:ldd ./test | grep grpc找到了libgrpc++.so.1 => /usr/local/lib/libgrpc++.so.1, 然后产看这个库里是否有这个symbol:nm -D /usr/local/lib/libgrpc+
2020-09-17 17:19:45
16858
原创 安装配置运行android studio on ubuntu
安装a) 安装java jdk下载jdkhttps://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 或者 https://repo.huaweicloud.com/java/jdk/8u202-b08/解压tar -xzvf jdk-8u202-linux-x64.tar.gz修改环境变量sudo vi ~/.bashrc在文件末尾添加 export JAVA_HOME=..
2020-08-28 12:34:37
303
原创 errno对应的strerror
Code:#include <iostream>#include <cstring>//#include <cerrno>int main(){ for (int i = 0; i < 133; i++) { std::cout << "errno " << i << " :" << strerror(i) << std::endl; } return 0
2020-08-05 12:37:04
206
原创 git 命令
origin/master master origin区别:1)two branches:master is local branchorigin/master is remote branch( which is a local copy of the branch named “master” on the remote named “origin”)2)one remote:origin is a remote reporeference:https://stackoverflow.c..
2020-06-28 17:41:02
488
原创 build htk source code
download source file: http://htk.eng.cam.ac.uk/download.shtml安装libsudo apt install gcc-multilib # to solve fatal error: bits/libc-header-start.h: No such file or directory #include <bits/libc-header-start.h> // 这个库可以在64位的机器上产生32位的程序或者库文件sudo a..
2020-05-13 22:22:33
270
原创 Ubuntu18.04更换源
备份/etc/apt/sources.list文件cp /etc/apt/sources.list /etc/apt/sourses.list.backup新建/etc/apt/sources.list文件并添加以下内容#163源deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiversede...
2020-04-22 00:11:16
235
原创 杂杂杂杂杂
在docker中使用gdb,遇到“warning: Error disabling address space randomization: Operation not permitted”solution:need the --security-opt seccomp=unconfined option(docker run --cap-add=SYS_PTRACE --security...
2019-08-23 14:12:17
604
原创 [leetcode刷题 C++] 5. Longest Palindromic Substring
[leetcode刷题 C++] 5. Longest Palindromic Substring题目Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example 1: Input: "babad" O...
2019-05-04 23:52:09
143
原创 [leetcode刷题 C++] 3. Longest Substring Without Repeating Characters
[leetcode刷题 C++] 3. Longest Substring Without Repeating Characters题目Given a string, find the length of the longest substring without repeating characters.Example 1: Input: &quot;abcabcbb&quot; Output: 3 ...
2019-02-05 18:08:56
146
原创 [leetcode刷题 C++] 2. Add Two Numbers
[leetcode刷题 C++] 2. Add Two Numbers题目You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a singl...
2019-01-19 00:10:29
141
原创 [leetcode刷题 C++] 1. Two Sum
[leetcode刷题 C++] 1. Two Sum题目Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solutio...
2019-01-16 22:24:58
139
原创 真正把Ubuntu装到移动硬盘里
http://blog.csdn.net/ablo_zhou/article/details/4682275###;
2018-01-24 10:20:03
3903
原创 string与int的相互转换
有4种方法: stringstream atoi/itoa sscanf/sprintf lexical_cast 1.stringstream头文件:#include <sstream>1.1 string to int下面的例子将输入到str中的字符通过string stream类型的变量ss转换为int类型的变量,输入到num中:stringstream ss;s
2017-09-16 22:45:31
816
原创 学习python-a byte of python-exception
书中对这部分主要讲了三个要点: 1、try……except……else; 2、raise; 3、try……finally;try……except:try: block#as e1可以不写#当要输出异常时,可以写print("e1")except Exception as e1: block ……else: block将所有可能出现错误或者发生异常的st
2017-09-05 00:16:32
374
原创 strerror&gcc -W&__FILE__
1、strerror使用导致的Segmentation fault (core dumped) 2、strerr和strout的区别 3、gcc的-Wall和-W参数 4、__FILE__和__LINE__
2017-08-30 23:55:53
433
ISO 15693 英文版
2019-01-16
ISO 15693 中文
2019-01-16
NFC forum specification
2019-01-16
王爱英-智能卡技术-第三版-清华大学出版社
2019-01-16
DarwinStreamingSrvr5.5.5-Linux.tar.gz
2017-01-05
fibre channel link services
2015-11-20
fibre channel generic services
2015-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人