现在位置: 首页 > 自动控制 > 文章
2019-08-16 06:56 工业·编程 ⁄ 共 3215字 暂无评论
一、名字含义: 在uClinux这个英文单词中u表示Micro,小的意思,C表示Control,控制的意思, 所以uClinux就是Micro-Control-Linux,字面上的理解就是"针对微控制领域而设计的Linux系统"。 二、ucLinux与linux区别? 没有虚存管理 不能运行时增加进程栈 不支持分页 可执行程序不是elf,   而是flat 不能用fork,   而是用vfork RAMDISK  uClinux是针对控制领域的嵌入式linux操作系统,它从...
阅读全文
2019-08-15 06:55 工业·编程 ⁄ 共 6443字 暂无评论
上一篇文章中我们初步认识了CMake中的一些概念:target(目标)、command(命令)等等。这篇文章我们来学习一下CMake的原理,并详细阐述这些概念。 1 CMake的结构     CMake有三个关键概念:target、generator和command,其中target和command我们已经有所了解了。在CMake中,这些东西本质上都是C++的类。理解这些概念对于编写出高效的CMake构建脚本很有帮助。 在更进一步了解CMake这些概念之前,有必要先了解一...
阅读全文
2019-08-14 06:51 工业·编程 ⁄ 共 2091字 评论 1 条
  平时开发中我们已经习惯了让IDE为我们做好一切,大部分情况下基本上不需要手动去编写项目的make文件,但是在规模较大的项目中,make其实非常重要,甚至可以说会不会make决定了你是否真的了解项目的整体架构并驾驭它。因为自己在Android开发中发现项目中的NDK部分已经抛弃了传统的Android.mk,与时俱进用上了CMake,因此打算静下心来好好学习学习,本文开始对学习CMake的过程做个笔记,以加深印象。参考书籍是《mastering...
阅读全文
2019-08-13 05:45 工业·编程 ⁄ 共 15416字 暂无评论
什么是 CMake All problems in computer science can be solved by another level of indirection. David Wheeler 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为...
阅读全文
2019-08-12 07:50 工业·编程 ⁄ 共 479字 暂无评论
针对GitHub上的几个几个C++ Restful库做了一个系统的对比: Restful库 98%请求中的最大时间(越小越好) 每秒平均处理的请求数(越大越好) Sample代码的行数 C++ : cpprestsdk / default JSON implementation 51 30.70 48 C++ : cpprestsdk / RapidJSON 44 47.06 47 C++ : restbed 7 224.18 39 C++ : pistache 6 319.99 40 PHP : Native implementation 10 146.95 14 表格中第二列和第三列是性能指标,第四...
阅读全文
2019-08-11 06:38 工业·编程 ⁄ 共 1116字 评论 1 条
因为Go的语法和Erlang、Python类似,所以我们将这三门语言做个详细的对比。 相比于Python的40个特性,Go只有31个,可以说Go在语言设计上是相当克制的。比如,它没有隐式的数值转换,没有构造函数和析构函数,没有运算符重载,没有默认参数,也没有继承,没有泛型,没有异常,没有宏,没有函数修饰,更没有线程局部存储。 但是Go的特点也很鲜明,比如,它拥有协程、自动垃圾回收、包管理系统、一等公民的函数、栈空间管理等。 Go...
阅读全文
2019-08-10 06:55 工业·编程 ⁄ 共 3165字 暂无评论
      所谓通讯协议就是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,倘若一方不遵守,便会直接导致数据不能被解析!更通俗来讲,它可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型等。我们最常见到的可能是TCP(传输控制协议...
阅读全文
1. 函数介绍        说到memcpy()和memmove()这两个函数,可能大家从名称上认为二者是两个不同的函数。其实不然,事实上,这两个函数功能是类似的,都是对内存进行拷贝(千万不要被memmove()函数中的move给欺骗了,不要想当然的认为它就是移动),二者的区别仅仅是对于内存重叠这一现象的处理。        如果要拷贝的两个内存空间不重叠的话,那么使用memcpy(...
阅读全文
2019-08-08 06:51 工业·编程 ⁄ 共 443字 暂无评论
大家都知道,写程序大体步骤为: 1.用编辑器编写源代码,如.c文件。 2.用编译器编译代码生成目标文件,如.o。 3.用链接器连接目标代码生成可执行文件,如.exe。 但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这...
阅读全文
2019-08-07 06:41 工业·编程 ⁄ 共 2282字 暂无评论
C/C++程序员肯定离不开Makefile和Cmake,因为如果对这两个工具不熟悉,那么你就不是一个合格的C/C++程序员。本文对Makefile和Cmake,及它们的使用进行了详细的介绍。 一、Makefile详解     Makefile描述了整个工程的编译、连接等规则,makefile定义了一些列规则来指定,哪些文件需要编译以及如何编译、需要创建哪些库文件以及如 何创建这些库文件、如何产生我们想要的可执行文件。使用Makefile,整个工程都可以...
阅读全文