现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2019-12-17 10:14 工业·编程 ⁄ 共 11395字 暂无评论
一、前言 就目前来讲,我在c/c++开发时使用过cJSON和json-c两种库,各有优劣,但是就使用简单程度来讲,我更倾向于cJSON,最近项目又用到cJSON了,正好简单总结一下,防止长时间不用又完全没有印象了,json-c等下次哪个项目使用的时候再去总结。 二、下载及编译 1、下载 这个是github的源码地址: https://github.com/DaveGamble/cJSON 我们可以直接clone: git clone https://github.com/DaveGamble/cJSON.git 以下内容基本是...
阅读全文
2019-12-16 09:59 工业·编程 ⁄ 共 3618字 暂无评论
一  libev简介 libev是一个轻量级的事件通知库,具备支持多种事件通知能力,通过对libev的源码的阅读,可以清楚了解事件通知实现内部机制。 二 核心数据结构 在libev中关键的数据结构是,loop结构体,该结构体定义的字段较多,但是主要核心的可以分为两大类 ev_loop结构体(loop为ev_loop结构的全局变量)的字段定义在ev_vars.h头文件中,然后在ev.c中通过include的方式导入 1.各类事件的watcher集合 loop中有支持很多类...
阅读全文
2019-12-15 06:56 工业·编程 ⁄ 共 7635字 暂无评论
说到Redis就会联想到Memcached,反之亦然。了解过两者的同学有那么个大致的印象:Redis与Memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,redis支持数据的持久化,看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢? Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: · Redis支持服务器端的数据操作:Red...
阅读全文
2019-12-14 06:30 工业·编程 ⁄ 共 2239字 暂无评论
一、Memcached简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。 Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memca...
阅读全文
#include <stdio.h>   int fun() {         printf("func\n");         return 0; } int f() __attribute__((weak, alias("fun")));   #define weak_alias(name, aliasname) \         typeof(name) aliasname __attribute__((weak, alias(#name)))   weak_alia...
阅读全文
2019-12-12 12:35 工业·编程 ⁄ 共 1230字 暂无评论
__attribute__是用来说明函数的属性,weak和alias分别是两个属性。 (一)强符号和弱符号:    强符号:已经初始化的全局变量和未被weak修饰的函数    弱符号:未初始化的全局变量和被weak修饰的函数 符号链接原理:链接器发现同时存在弱符号和强符号,优先选择强符号,如果发现不存在强符号,只存在弱符号,则选择弱符号 那么它们有什么用呢?比如我们想使用某个函数必须用到的函数,但是不知道该函数在其...
阅读全文
2019-12-11 12:32 工业·编程 ⁄ 共 2882字 暂无评论
最近查看linux内核代码时,表现了一些编译器选项如__attribute_((weak))、__attribute__( (alias("target"))),一开始不了解,后来自己查看资料及书籍算是对gcc的这个编译属性有了一定的认识。 一、先了解weak属性。 __attribute__((weak))表示为弱符号属性,所谓的弱符号是针对于强符号来说的,我们定义的全局已初始化变量及全局函数等都是属于强符号,在链接时如果有多个强符号就会报错误;而弱符号主要指未初始化...
阅读全文
2019-12-10 11:16 工业·编程 ⁄ 共 1046字 暂无评论
1、制造业对国外工业软件形成长期依赖,关键工艺流程和工业技术数据缺乏长期研发积累,制造业在一些领域呈现技术空心化。我国飞机、船舶、冶金、化工、生物医药、电子信息制造等重点制造领域长期以来习惯用国外工业软件,对于背后的设计原理了解不够,而且缺乏基础工艺研发数据的长期积累,导致基础技术原理数据积累存在明显差距。国外根本不可能出售含有最新创新成果数据的工业软件,能出售的工业软件里面固化的数据往往是上一...
阅读全文
2019-12-09 10:55 工业·编程 ⁄ 共 1060字 暂无评论
工业软件可以分成几大类,一是工业设计类,也就是外观造型设计;二是机械设计或产品设计类;三是加工编程类;四是仿真分析类。 一、工业设计类软件 1、犀牛rhino,这个软件是工业设计界最常用的三维建模软件,据说,对于其它三维软件来说,认为很复杂的操作到了犀牛软件却变得轻而易举。 2、alias也是工业设计人员使用的三维软件之一,它的特点就是操作逻辑比较严谨,也偏复杂,但曲面质量比较高,国内使用者不算多。 3、PROE(...
阅读全文
2019-12-08 10:17 工业·编程 ⁄ 共 510字 暂无评论
1.memchr检测的是一段内存,strchr检测的是一个字符串 如果一段内存中有0x0的话,显然不能用strchr去查找的。建议看看两个函数的原型 2.strchr会停在\0,memchr不会,看接口就明白了: NAME        memchr, memrchr - scan memory for a character SYNOPSIS        #include <string.h>        void *memchr(const void *s, ...
阅读全文