编程细节
zymill
这个作者很懒,什么都没留下…
展开
-
Android 查询设备信息c/c++常用方法
在Android开发中,可以通过c接口直接获取设备属性,系统接口为int __system_property_get(const char* name, char* value);原创 2022-09-04 19:54:57 · 3034 阅读 · 0 评论 -
gcc动态库fPIC和fpic编译选项差异介绍
出动态库时,合并libnettle.a库遇到下面错误提示其中关键提示为warning: too many GOT entries for -fpic, please recompile with -fPIC相同点:都是为了在动态库中生成位置无关的代码。通过全局偏移表(GOT)访问所有常量地址。程序启动时动态加载程序解析GOT条目。不同点:如果链接的可执行文件的GOT大小超过计算机特定的最大大小,则会从链接器收到错误消息,指示-fpic不起作用;在这种情况下,请使用-fPIC...............原创 2022-06-09 01:05:26 · 1456 阅读 · 0 评论 -
Linux c/c++开发常用头文件
c/c++开发常用的头文件说明,可以详细参考代码中的注释/*************************************************************************** Copyright (c) 2015-2024 Hybase@qq.com** Author: hybase@qq.com QQ:23207689 WebChat: hybase* http://blog.csdn.net/zymill* http:原创 2022-04-30 21:54:32 · 2885 阅读 · 0 评论 -
常用颜色中英文名称及RGB数值表
常用颜色中英文对照名称,以及它们RGB的16进制和10进制的数据表收集在这里。供有需要的读者参考。hybase@qq.com原创 2022-01-10 23:25:04 · 3417 阅读 · 0 评论 -
界面设计常用的几种配色风格及文字底色
本文提供几种界面设计中常用的配色风格和文字底色,希望对读者有帮助。hybase@qq.com原创 2022-01-10 23:08:45 · 1995 阅读 · 0 评论 -
界面设计配色方案说明图三
这些配色案例图是过去从互联网上收集到的,开发工具界面时可以借鉴配色。希望对读者有帮助。hybase@qq.com原创 2022-01-10 22:55:18 · 7033 阅读 · 0 评论 -
界面设计配色方案说明图二
这些配色案例图是过去从互联网上收集到的,开发工具界面时可以借鉴配色。希望对读者有帮助。原创 2022-01-10 22:51:33 · 8318 阅读 · 0 评论 -
界面设计配色方案说明图一(含RGB配色表)
这些配色案例图是过去从互联网上收集到的,开发工具界面时可以借鉴配色。希望对读者有帮助。hybase@qq.com原创 2022-01-10 22:48:23 · 3965 阅读 · 0 评论 -
windows平台错误码获取方式及常用错误码
windows下编程,获取最近一次错误码通常用的是 WSAGetLastError() 函数,而不是用变量errno。winsock编程常用的该错误码,有如下定义(对应的宏定义可参考文章最后的补充):Socket error 0 - Directly send errorSocket error 10004 - Interrupted function //call 操作被终止Socket error 10013 - Permission denied //c访问被拒绝Socket e.原创 2022-01-05 23:36:49 · 3295 阅读 · 0 评论 -
ffmpeg日志文件中解析数值PSNR,码率的样例
python解析ffmpeg执行日志,获取PSNR,平均码率的样例。hybase@qq.com http://blog.csdn.net/zymill原创 2021-12-30 13:57:01 · 2279 阅读 · 0 评论 -
webAssembly中js传递字符串给c函数样例
WebAssembly编译环境的部署,可以参考官方手册 (附注)实例// js传递字符串给c函数方法 hybase@qq.comhyscoder.prototype.init = function (url, fileSize) { this.logger.logInfo("[initHyscoder] url_len=" + url.length + ", url=" + url); var urlTmp = intArrayFromString(url).concat(0); t原创 2021-04-01 10:43:05 · 748 阅读 · 2 评论 -
windows平台python3.x调用ffmpeg指南
前言Linux平台shell脚本非常便捷,因此在Linux上使用ffmpeg命令不算麻烦。为了在windows下能更为便捷使用ffmpeg命令,过去写过一篇 “windows下菜单选项执行ffmpeg命令的bat脚本”。随着Python的普及,其实借助它感觉比bat脚本更为方便,下面是简要说明,希望能帮到需要的读者。另外,因自身习惯直接使用ffmpeg命令,因此并没用ffmpy(如果有兴趣,读者可以自行学习它)。第一步python3.x安装,本文略过,请参考其他成熟案例第二步预备 ffmp...原创 2020-12-02 22:41:49 · 3421 阅读 · 0 评论 -
QML Image Element 属性详情说明及样例
QML Image ElementImage元素继承Item,支持PNG,JPG,GIF,BMP等静态图片格式,也支持矢量图片格式SVG,不支持动画(动画可以用它的派生子元素AnimatedImage)。Image定义的主要属性成员包括以下(继承Item的基本属性参考后面第二个表格)原创 2020-11-07 23:04:31 · 658 阅读 · 0 评论 -
QT控件QSlider样式编辑实例
QSlider最常见的应用是播放器中进度条或调节音量。QSlider允许用户通过鼠标进行拖动、点击,默认的样式基本能满足需求,为了能有所差异,也可以通过样式编辑方式做简单的调整,以下为水平方向实例,供有需要的读者参考。QSlider水平方向默认样式修改后的样式,包括选中和未选中两个(QTCreator效果)实际效果 (未选中是白色) (选中是黄色)样式编辑script(水平方向实例)QSlider::groove:horizontal { border: 0...原创 2020-10-10 19:01:37 · 1553 阅读 · 0 评论 -
rtmp直播推流 app-livestream v0.0.1.002 发布
app-livestream使用说明书2020-07-14 Win64位版本v0.0.1.002发布 Author: hybase@qq.com QQ: 23207689app-livestream下载地址https://pan.baidu.com/s/1C5JDgC1MoWVeu2m2s-_IIA 提取码:php6-------------------------------------------------------------------------------...原创 2020-05-17 14:49:02 · 5814 阅读 · 0 评论 -
C库中重要字符串自动分割函数strtok
函数strtok 原型 char * strtok ( char * str, const char * delimiters );功 能: 查找由在第二个串中指定的分界符分隔开的单词, 即源串中除去了含有分隔串中的所有字符后余下的一段段的字符串,每调用一次找到一串,找不到则返回空串。显然函数会改变参数,因此不能用于常量如英文所描述。另外只能单线程安全。strtok使用注意事项:原创 2018-01-10 22:55:58 · 428 阅读 · 0 评论 -
C函数调用过程及汇编分析
C代码:int fun(int para){ int a=0; return 0;}void main(){ fun(1);}汇编代码:1:2:3: int fun(int para)4: {0040B810 push ebp原创 2017-12-26 12:58:37 · 531 阅读 · 0 评论 -
sqrt的快速算法 --- (参考)
在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是Carmack发明的,它真正的作者是Nvidia的Gary Taro转载 2017-10-10 08:38:11 · 4252 阅读 · 2 评论 -
gcc中动态库和静态库的链接顺序
so文件:动态库a文件: 静态库exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关)gcc中链接顺序问题,总结出以下几点:1,动态库中可以包含另一个静态库,通过参数 -lxxx 把静态库libxxx.a加入so文件中,这样so文件中 就包含了libxxx.a的所有实现。当然,如果不包含libxxx.a也没有问题,这样生成的so会小一点。 如果不包含libxx...转载 2018-04-09 22:33:38 · 3626 阅读 · 0 评论 -
gdb 调试多线程
如果目标进程已经core dump了,那么 gdb -c core xxx xxx是对应的程序文件。如果目标进程还在运行,通常此时用于调试线程死锁的情况。有两种方法一是 gdb -p xxx xxx是该进程的进程ID或者用gcore xxx先获取对应进程的core,他会生成一个core文件 core.xxx 进入gdb后(gdb) info threads可以列出所有的线程,缺省设为当前的线...转载 2018-04-09 22:36:53 · 236 阅读 · 0 评论 -
c++ STL容器在循环中删除迭代器的处理细节
c++中STL容器vector/list/map/set/deque/string等删除元素的问题,迭代器容易出现以下错误,示例代码如下:std::vector<int> arrayList;...std::vector<int>::iterator it = arrayList.begin();for ( ; it != arrayList.end(); it++)...原创 2018-04-06 20:59:27 · 14963 阅读 · 1 评论 -
select,poll,epoll三种IO机制对比介绍
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到...转载 2018-04-18 23:21:35 · 2489 阅读 · 0 评论 -
cmake中添加-fPIC编译选项方法
合并openjpeg/soxr/vidstab/snappy等多个cmake库时,为了解决下述问题:relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC 分别验证过以下二种方法 第一种 (笔者所采用的,因需修改原始CMakeL...原创 2018-08-14 15:25:07 · 35521 阅读 · 6 评论 -
mingw64下为ffmpeg编译gnutls小结
软件包官方地址:https://gnutls.org/笔者采用版本为 gnutls-3.5.19,编译过程中遇到的2个问题1)合理使用自带openssl / libunistring / libtasn1库函数,减少对外部第三方库的依赖,选项参数(红色标注)如下--enable-local-libopts --enable-openssl-compatibility --with-ne...原创 2018-08-15 22:02:46 · 1518 阅读 · 0 评论 -
windows下菜单选项执行ffmpeg命令的bat脚本
编写了一个windows平台下的bat脚本,通过选项便捷执行所需的ffmpeg转码命令。大大减少平常DOS下输入命令参数等繁琐操作,希望能帮助到所有阅读到此文的读者, 联系方式:hybase@qq.com源脚本的下载路径:https://github.com/zymill/hysAnalyser/blob/master/myEnc.bat参考图1(选项操作)参考图2(执行某项命令的...原创 2018-09-13 11:13:35 · 5709 阅读 · 0 评论 -
flvAnalyser 分析工具版本发布详情
新版本 v0.1.2.005 已于 2023.08.26 发布,请参考下面链接地址https://blog.csdn.net/zymill/article/details/117635560【新版本v0.0.5.003】以下是旧版本信息【2017.12.19】 下载地址,百度盘:链接1: https://pan.baidu.com/s/1geOdX1x 密码:9.........原创 2017-12-18 21:05:54 · 5284 阅读 · 7 评论 -
C库中重要字符串函数strspn与strcspn
(1)函数strspn:size_t strspn ( const char * str1, const char * str2 );功 能: 在串中查找指定字符集的子集的第一次出现,如果str1中的所有字符都在str2中出现过,那么返回str1的长度。如果第一个字符就不在str2中,那么返回0.#include #include int main() { in转载 2018-01-10 17:33:20 · 279 阅读 · 0 评论