- 博客(168)
- 资源 (16)
- 收藏
- 关注
原创 linux下编译鸿蒙版curl、openssl
是一个用相对路径表示的统一编译安装目录,openssl和curl都会引用以及安装到这个目录下,所以要保证两个开源库使用的编译脚本中的这个相对路径指向同一目录。如果有什么问题的话,也可以自己手动改成想要的路径,两个脚本一致就行。目前我编译的全部都是静态库,如果需要编译动态库的话,还需要调整下编译脚本中的参数。具体的参数可以查看openssl和curl的编译说明。curl使用的版本是 7.81。如果中间没有错误的话,在。下会生成以下文件和文件夹。
2024-10-12 17:00:08 599
原创 linux下不同库出现符号冲突的解决方式
在linux下开发时,可能会碰到不同库导出同名函数符号,导致行为异常的问题。举个例子:我的test.cpp需要链接以及,并且两个so库中都有一个同名的函数符号PrintInt,那在 test.cpp 中我想调用liba.so的PrintString时实际会调用函数符号呢?答案是根据链接顺序来。先链接先加载哪个库就会使用哪个库的符号。假设我们先链接加载的libb.so,那test实际会调用的就是libb.so中的PrintInt,这很明显不符合我们的期望,并且很可能会更一步导致crash。
2024-09-24 17:01:28 810
原创 ubuntu下miniconda安装方式
全部执行完毕后,重新登录终端,就可以进入默认的 base 环境。接下来可以继续使用命令创建和切换所需要的python环境。
2024-04-10 10:30:15 437
原创 es5标准下 javascript 类的一种继承方式
以ES5标准为例的继承方式 // 父类 function Base(a, b) { this.x = a; this.y = b; this.arr = [a, b]; } Base.prototype.add = function(a, b) { this.x += a; this.y += b; } // 子类 function Child(a, b, c) { Base.call(this, a, b); this.z = c; }
2021-03-04 11:20:57 241 1
原创 gdb分析coredump的几个常用命令介绍
1.info proc mappings显示各个模块(可执行程序、动态库等)segment映射的虚拟内存地址列表2.info register显示寄存器的值例:(gdb) info registerrax 0xdbbb6a00007f719b -2613378610517544549rbx 0x9e4b82c0 2655748800rcx 0x3 3rdx 0x0 0rsi
2020-12-09 10:35:22 871
原创 linux errno参考
#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process */#define EINTR 4 /* Interrupted system call */#define EIO 5 /* I/O error */#define ENXIO 6 /* No such device .
2020-11-30 23:50:47 404
原创 【错误记录】xcode codesign失败
使用codesign签名APP时出现:because larger updated load commands do not fit (the program must be relinked using a larger -headerpad value) 的错误提示。原因猜测是文件头中的预留空间不够放置生成的签名数据解决方式:xcode连接参数other linker中添加-headerpad_max_install_names选项...
2020-09-27 10:34:41 405
原创 【WebRTC】几个重要sdp参数说明
o=- 2833773620626745940 2 IN IP4 127.0.0.1s=-t=0 0// ice模式: full / lite, 设置lite表示始终为controlled,不需要发起STUN binding探测,只需要回复 binding response, 在开发SFU服务时非常有用, 只需要服务器一方设置为lite (都为full时, 双向探测;都为lite时, 互不探测)a=ice-litea=group:BUNDLE 0 1a=msid-semantic: WMS i.
2020-09-07 15:53:48 5098
原创 【WebRTC】web前端+nodejs测试demo
1.服务端使用nodejs搭建,使用的module为express、nodejs-websocket。实现了简单的信令协商,代码如下:// server.jsvar ws = require("nodejs-websocket");var fs = require('fs');var https = require('https')var express = require('express');var app = express();var userList = {};var
2020-09-07 11:23:45 1165 1
原创 vscode编译调试linux c/c++
1.远程打开linux服务器上的开发工程文件夹(具体工程不进行介绍了),如:/home/user/my_pro2.在产生的 .vscode 文件夹下放置 launch.json,tasks.json 配置文件,内容如下:launch.json:{ "version": "0.2.0", "configurations": [ { // 工程项目名称 "name": "test1", "
2020-08-17 13:43:11 345
原创 linux下使用gclient工具报错的问题处理
Your PATH contains a literal "~", which works in some shells but will break when python tries to run subprocesses. Replace the "~" with $HOME.如果出现如上的错误,说明在 exportdepot_tools的路径时,使用了~符号来表示用户文件夹,而p...
2020-01-04 17:35:26 1341
原创 RTP序列号以及时间戳是否回绕的判断
int isNewerSequenceNumber(uint16_t sequence_number, uint16_t prev_sequence_number) { return sequence_number != prev_sequence_number && ((uint1...
2019-12-17 17:55:59 955
原创 OSX以及IOS app 崩溃符号查找
奔溃信息:Thread 29 Crashed:0 my 0x000000010c27d2d4 0x10c14d000 + 12459081 my 0x000000010c287625 0x10c14d000 + 12877172 my 0x000000010c27669f 0x10c14d000 + 1...
2019-09-20 16:37:03 453
原创 macos下生成icns图标文件
1.新建文件夹,将图片放到该文件夹下,图片命名如下icon_16x16.pngicon_16x16@2x.pngicon_32x32.pngicon_32x32@2x.pngicon_128x128.pngicon_128x128@2x.pngicon_256x256.pngicon_256x256@2x.pngicon_512x512.pngicon_512x512@2x....
2019-02-14 17:15:23 1052
原创 QSlider样式qss美化
QSlider { background-color: rgba(22, 22, 22, 0.7); padding-top: 15px; padding-bottom: 15px; border-radius: 5px;}QSlider::add-page:vertical { background-color: #FF7826; width:5px; border-rad...
2018-12-26 14:43:56 2991 2
原创 解决mac下qt工程编译错误:Xcode not set up properly. You may need to confirm the license agreement by running
1.qt版本5.5.1(其它版本应该也类似)2.系统:mac os 10.12.5xcode版本>= 8.x打开:qt安装目录/5.5.1/clang_64/mkspecs/features/mac/default_pre.prf将:isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
2017-08-14 17:35:01 1458
原创 ios版boost库编译
#!/bin/bash# 请自行修改路径,cd到boost解压后的目录下dir=`dirname $0`cd "$dir/../../public_libs/boost_1_56_0"# 如果库文件已存在,直接退出if [ -e ./stage/lib/libboost_date_time.a ]; then echo "libraries exist. no need to bui...
2016-12-29 18:04:33 3118 1
原创 Linux下利用双网卡构建网关截获数据包
eth0 作为其它设备网关(我的网段都是 192.168.1.*)echo 1 > /proc/sys/net/ipv4/ip_forwardecho 0 > /proc/sys/net/ipv4/tcp_timestampsiptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTI
2016-04-19 18:25:55 927
翻译 boost中tokenizer的用法举例
例一:// simple_example_1.cpp#include#include#includeint main(){ using namespace std; using namespace boost; string s = "This is, a test"; tokenizer<> tok(s); for(tokenizer<>::ite
2014-04-02 19:22:51 1174
原创 flv文件AVCDecoderConfigurationRecord以及AudioSpecificConfig结构
H264和AAC数据流 RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequence header",这两项数据包含的是重要的编码信息,没有它们,解码器将无法解码。 AVC sequence header就是AVCDecoderConfigurationReco
2013-07-02 10:08:55 18584 4
转载 malloc分配原理浅析 mmap关注焦点 如何优化分配内存
现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。 初步分析majflt代表major fault,中文名叫大错误,min
2013-07-02 09:10:56 6848 1
转载 用 RPM 打包软件
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/index.htmlhttp://www.ibm.com/developerworks/cn/linux/management/package/rpm/part2/index.htmlhttp://www.ibm.com/developerwo
2013-06-25 17:04:26 738
转载 Shell 显示带颜色字体
格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"如果单纯显示字体颜色可以固定控制码位0m。格式: echo "/033[字背景颜色;字体颜色m字符串/033[0m"字背景颜色范围:40 - 4940:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 字颜色
2013-06-17 10:41:31 1002
转载 PE文件格式详解(下)
预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似。事实上,应用程序定义一个独特的段的方法是使用标
2013-06-04 14:15:17 1076
转载 PE文件格式详解(上)
Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个
2013-06-04 14:12:57 816
原创 linux开发辅助命令(二)
1.查看进程打开的文件lsof2.查看ipv4,ipv6监听状态与对应进程lsof -Pnl +M -i4lsof -Pnl +M -i63.查看rpm安装信息rpm -ql 安装包名称4.修改当前shell的可打开描述符最大值ulimt -SHn 65535待续 ...
2013-05-30 09:20:04 748
转载 svn常用命令集合
修改登录账户:svn --username chen info http://192.168.1.110:8080/svn/project1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的
2013-05-22 15:49:24 795
原创 zend studio 远程调试方法
我们在编写php项目的时候会遇到本地调试运行正确,但部署到服务器运行就出现问题的情况,此时可能不容易定位错误原因,因此使用zend进行远程调试是一种很好的解决方法。废话不多说了,看下面的步骤。本次介绍以开发环境为windows而运行环境为linux举例1.下载安装zend studio,可以去官网下载2.下载Studio Web Debugger(zend debugger),我用的是
2013-05-14 15:10:49 8370
原创 linux设置网路
修改dnsvi /etc/resolv.confnameserver 61.177.7.1centos修改网络参数vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 #物理设备名TYPE=EthernetHWADDR=18:20:27:21:A7:2BNAME="system eth0"IPADDR
2013-05-10 11:20:15 849
转载 boost function 实现
http://www.cppblog.com/Streamlet/archive/2011/01/16/138615.html
2013-04-27 13:08:26 650
转载 boost bind 实现方法
一直比较好奇 boost::bind 里面占位符和参数的顺序是怎么实现的,也一直看不太懂这方面源代码,昨晚好好看了下,终于有点弄懂了。小记一笔,与大家分享。先看一个简单的用例:#include int foo(bool a, int b, double c){ return 0;} int main(){
2013-04-27 13:07:09 695
原创 使用mips交叉编译器编译boost
编译方式和arm交叉编译类似,不过我用的交叉编译器版本非常老,是3.40的boost库,可以使用任意版本,下载地址:http://www.boost.org编译方法1. 下载解压boost库到任意位置,如/home/boost_1_48_0/2. 切换目录至/home/boost_1_48_0,运行bootstrap.sh,此时在当前目录下会生成bjam这个
2013-04-25 15:52:04 4620
原创 windows上编译qt用的命令行
具体不记得什么时候编译用的,反正贴上来记录一下,编译命令有无错也不记得了configure -opensource -confirm-license -debug-and-release -fast -static -platform win32-msvc2010 -openssl -no-qt3support -webkit -script -scripttools -qt-zlib -
2013-04-16 14:09:51 1222
转载 boost库命名规则
Boost官网的《Geting Started On Windows》(http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html)提到了Boost库的命名,摘录如下:以 libboost_regex-vc71-mt-d-1_34.lib 为例:lib 前缀:除了Microsoft Windows
2013-04-11 15:16:09 784
转载 在C++泛型编程中如何只特化类的某个成员函数
我们知道在C++模板编程中如果我们特化或是偏特化某个模板类, 我们需要重写整个模板类中的所有函数, 但是这些代码通常是非常相似的, 甚至在某些情况下可能只有一两个函数会不一样,其他函数都是一样的。在这种情况下,同时存在多份相同的代码,对我们维护这些代码是非常不利的, 我们最好只需要特化其中不一样的那个函数。比如下面这个模板类: templatestruct Base
2013-03-28 16:46:49 888
原创 boost编译开关宏参考手册(中文)
http://boost.ez2learn.com/libs/config/doc/html/boost_config/boost_macro_reference.htmlBoost 宏参考描 述缺陷的宏描 述可选特性的宏描 述可能的 C++0x 特性的宏描 述不被支持的 C++0x 特性的宏Boost 辅助宏Boost 信息宏用 於分隔源代码的宏
2013-03-26 16:23:50 5146
linux开发常用帮助文档
2011-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人