- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 ubuntu终端无法输入中文
打开 /var/lib/locales/supported.d/local。打开/etc/default/locale。打开/etc/environment。
2023-06-06 21:07:29
626
原创 std::decay 类型萃取
std::decay是C++11的一个模板类,为我们移除类型中的一些特性,比如引用、常量、volatile,但是不包括指针特性,在头文件type_traits(类型萃取)中。比如:class GuoTest {};std::decay<const GuoTest &>::type var;采用std::decay类型萃取之后的变量var的类型是GuoTest...
2021-11-08 20:04:15
2991
原创 windows平台vs2015编译openssl库
32位debug版本cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\binvcvars32.batperl Configure debug-VC-WIN32 no-asm --prefix=“D:/openssl/win32-debug”ms\do_msnmake -f ms\ntdll.mak (编译动态库)nmake -f ms\nt.mak (编译静态库)nmake -f ms\ntdll.mak install(安.
2021-04-02 11:42:58
269
原创 gdb调试堆栈信息一堆问号如 #0 0x0000000000000000 in ?? () 看这里跟踪
今日分享的内容是建立在gdb环境与编译环境都正常的情况下所做的调试工作。如何安装gdb以及如何搭建可以生成调试信息的编译环境可以自行百度,有很多的文章可以参考,我们重点介绍 gdb过程中产生 #0 0x0000000000000000 in ?? () 信息的问题如何定位调试。这里我使用的是printf+gdb的方式,由于堆栈信息是一堆0和问号,我们通过gdb无法直接定位,所以我们先加打印大致定位到死在哪个接口,假设打印跟踪到的接口我们定义为My_test()。一、首次运行coredump文件利用
2020-12-19 17:00:47
14512
1
原创 vs_code远程登录linux调试经常断线的解决办法
vs_code远程登录linux调试经常断线的解决办法俩步搞定。一、拷贝windows内容:1.打开C:\Users\huidebin.ssh目录2.打开id_rsa.pub文件并赋值文件中内容二、粘贴到linux:1.打开/home/guoyb/.ssh/目录2.打开authorized_keys文件,将步骤一复制的内容粘贴进去即可...
2020-12-14 20:26:18
2559
1
原创 C++类成员访问权限介绍
C++类成员访问权限介绍:对于C++类,可以定义三种不同访问控制权限的成员。这三种分别是public公有类型,private私有类型,protected保护类型。一、public public成员可以被访问的场景:①它所在类的成员函数②它所在类的友元函数③它所在类定义的对象④它所在类的子类二、private private 成员可以被访问的场景:①它所在类的成员函数②它所在类的友元函数三、protected protected 成员可以被访问的场景:①它所在类的成员函数②它所在类的友
2020-11-18 16:51:46
2507
1
原创 ubuntu 16.04 配置中文输入法
1.在桌面右上角设置图标中找到“System Setting”,双击打开。2.在打开的窗口里找到“Language Support”,双击打开。3.可能打开会说没有安装“Language Support”,这时只需要授权安装即可,之后会出现这个界面。4.安装完成之后,选择“Install/Remove Languages”,在弹出的窗口选择“Chinese simplified”,点击“Apply Changes”即可。之后需要输入密码授权,系统会安装简体中文语言包。5.安装IBus框架,
2020-11-12 18:41:35
1252
原创 openssl库在x86平台,在安卓平台,在嵌入式平台上的交叉编译
一、编译x86平台使用的openssl库:其中OPENSSL_OUTPUT_PATH是最终编译出的openssl库和头文件存放的位置,自行定义即可。如果编译pc是64位的系统,-m32选项可以实现在64位的系统上编译32位的库。如果去掉该选项,那编译出来的就是64位的库;如果编译pc是32位的系统,直接去掉该选项,编译出的就是32位的库。CC=gcc AR=ar RANLIB=ranlib ....
2020-01-09 11:52:45
660
原创 一文带你了解什么是websocket
一、websocket简介:websocket,顾名思义就是web端的socket,其作用就是给web端提供了与httpserver端之间的长连接,使得httpserver在建立连接的任何时候都可以主动通知web页面事件,如果没有此协议存在的话,web端需要不断的通过轮询的方式去查询一些服务器端的状态。websocket的之下使用的是我们传输层的tcp协议,我们知道任何通信协议都有其协议规则,只...
2019-12-16 16:07:31
7273
原创 数据包在不同网段间传送过程中mac及ip的变化
一、前言最近一直在做网络编程的项目,编程和调试过程中关注的点始终是收发数据是否正常,只是为了确保数据能够被正常收到就好,那么数据包从一台主机发出,去往另外一台主机的过程是怎么样的?数据包经历了什么,有没有变化,ip地址变化还是mac地址变了?每天陪伴我们的电脑又是如何正常上网的呢?上网的数据包又是怎么传输的?这些问题成为我最新的关注点,这篇文章将一一为大家揭开这些神秘的面纱,详细介绍一下数据包的...
2019-12-09 16:22:05
10366
3
原创 如何将c语言封装JNI接口供java程序调用
一、jni是什么?为什么会有jni的存在?JNI是Java Native Interface的缩写,中文可译为Java本地调用,它允许Java代码和其他语言写的代码进行交互,而我们在使用JNI的时候是让其与C语言通信,我们知道C语言是偏底层的语言,可以直接操作硬件,执行效率较高,这个时候JNI就派上了用场,可以通过JNI直接调用c语言的函数。JNI这个概念听着好像很神秘的感觉,其实总结下来就是俩...
2019-12-05 14:04:53
4014
原创 嵌入式Linux环境下线程CPU消耗跟踪
一、本文背景:在多数情况下,尤其是基于Linux系统开发的软件,都是多线程模式的,而我们在开发的过程中是不会过多的关注线程资源的消耗问题,而是直接拿起函数就去调用,创建自己的任务,让它自己去玩。但是当遇到线程与线程间抢占资源的时候我们无从下手,不知道是怎么回事。本文做一个简单跟踪线程cpu消耗的介绍。二、方法:①首先我们要去抓取每个线程占用的资源,在linux服务器上可以用top -H 去查...
2019-12-05 11:09:19
567
C语言实现的websocket
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人