C++ 机器人行业
15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理。这包括输入和数出进程。
有时还会需要脚本能够与使用者交互。bash shell提供了一些不同的方法来从用户处获得数据, 包括命令行参数,命令行选项,以及直接从键盘读取输入的能力。 14.1 命令行参数 就是添加在命令后的数据 比如: ./addem 10 30 10 和 30 就是传递的命令行参数 14.1.1 读取参数 bash shell会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数。
本章讨论bash shell的循环命令for、while和until 13.1 for命令 重复执行一系列命令在编程中很常见。 bash shell提供了for命令,允许你创建一个遍历一系列值的循环。
许多程序要就对shell脚本中的命令施加一些逻辑控制流程。 结构化命令允许你改变程序执行的顺序。不一定是依次进行的 12.1 使用if-then语句 如下格式: if command then commands fi if语句会允许if后面的那个命令,如果该命令的退出码的0(代表成功了)位于then部分的命令就会被执行。
11.1使用多个命令 $date;who // 命令列表,加入分号就可以,这样会依次执行。参见5.2.1节 注意区分$(date;who),这个是进程列表,会生成一个子shell来执行 Shell脚本的关键在于输入多个命令并处理每个命令的结果,甚至需要将一个命令的结果传给另外一个命令。
主要介绍vim, nano, emacs,KWrite,Kate,GNOME 10.1 vim Unix系统最初的编辑器 10.1.1检查vim软件包 先搞明白你所用的Linux系统是哪种vim软件包。
包管理系统(PMS):用来进行软件安装、管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了什么软件包,每个包安装了什么文件,每个已安装软件包的版本 3 软件包存储在服务器上,可以利用linux系统上的PMS工具通过互联网访问。
8.1 探索linux文件系统 8.1.1 基本的Linux文件系统 ext:最早的文件系统,叫扩展文件系统。使用虚拟目录操作硬件设备,在物理设备上按定长的块来存储数据。 用索引节点的系统来存放虚拟目录中所存储的文件信息。
Linux沿用了Unix文件权限的方法,允许用户和组根据每个文件和目录的安全性设置来访问文件。 用户权限通过创建用户时分配的用户ID(UID)来跟踪的。每个用户有唯一的ID,但是登录时用的不是UID,而是登录名。
很多程序和脚本都通过环境变量来获取系统信息、存储临时数据和配置信息。 6.1 什么是环境变量: bash shell用一个叫环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息。
5.1 1. cat /etc/passwd 可以查看每个用户自己的默认的shell程序。 2.默认的交互shell会在用户登录某个虚拟控制台终端时启动。 不过还有另外一个默认的shell是/bin/sh,它作为默认的shell,用于那些需要在启动时使用的shell脚本 ls -l /bin/sh 进行查看 乌班图的发行版中默认的系统shell(dash shell)和默认的交互shell(bash shell)并不相同。
4.1 监测程序 1. ps 默认只显示运行在当前控制台下的属于当前用户的进程。 可以接很多选项,比如 -A表示所有进程 -e等。 2. ps -l 查看进程更多信息 UID:启动这些进程的用户 PID:进程的进程ID PPID:父进程的进程ID C:进程生命周期中的CPU...
1 – 3章 1.1 man手册: 分1 - 9个区域,可以认为是一个一个小节 把man手册理解为一本书 第一节:可执行程序或shell命令 第二节:系统调用 第三节:库调用 第四节:特殊文件 第五节:文件格式与约定 第六节:游戏 第七节:概览,约定与杂项 第八节:超级用户和系统管理员命令 第九节:内核例程 分别表示查看第7部分 和 第1部分 1.
介绍一种乌班图中使用sqlite的用法,非常简单,下面的例子是在乌班图12.04中实现的: 1,先安装两个东西: sudo apt-get install sqlite sqlite3 sudo apt-get install libsqlite3-dev // 不然可能会报 没有头文件 sqlite3.h 2,C/C++接口:一般用到下面这三个,详情请参考sqlite官方文档。
20160621 更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite alter命令:不通过执行一个完整的转储和数据的重载来修改已有的表。
20160616更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite PRAGMA:可以用在 SQLite 环境内控制各种环境变量和状态标志。
下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本语法: CREATE TABLE database_name.
工作快一年了,接触的东西不是很多,学到的东西也不多。无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试。 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 20160612 更新 1,什么是SQLite? SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
春节过去了,真的过去一年了。在公司待了快一年了。2016希望自己变得越来越好。 ps:上面那句话是年前写的,中间隔了那么久,自己也变懒了。 一、信号量 1,信号量本质是一个计数器,控制访问共享资源的最大并行进程总数。
马上过年了,心里万般滋味。。。 一,消息队列 1,概念:“消息队列”是在消息的传输过程中保存消息的容器 2,消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。
一,共享内存 内核管理一片物理内存,允许不同的进程同时映射,多个进程可以映射同一块内存,被多个进程同时映射的物理内存,即共享内存。 映射物理内存叫挂接,用完以后解除映射叫脱接。 1,共享内存的特点: 优点:是最快的IPC。
1,进程间通信 (IPC ) Inter-Process Communication 比较好理解概念的就是进程间通信就是在不同进程之间传播或交换信息。 2,linux下IPC机制的分类:管道、信号、共享内存、消息队列、信号量、套接字 3,这篇主要说说管道:本质是文件,其他理论什么的网上已经有一大堆了,我就只写一点用法吧。
2015-12-22 更新 一、Bug分支 1,假设如下场景,你正在dev分支工作,突然接到一个修复代号为101的bug的任务时,dev的东西还没不能提交,但是bug需要马上修复。 Git提供了一个stash功能,可以把当前工作现场存储起来,等以后恢复现场后继续工作。
2015-12-09 更新 1,现在,本地有了一个库,你可能会想到GitHub创建一个库,并且关联起来。这样,远程的库既可以当作备份,又可以让其他人通过该仓库来协作。 2,步骤: (1)登录GitHub,应该会有提示,(我还没创建过远程库,很容易看到这个界面) (2)点击那个 Create a respository: (3)这就创建好了一个库,这时候库还是空的,GitHub告诉我们可以从这个仓库克隆出新的仓库。
参考自《VC++深入详解》 这是我在看书时记录下来的东西。 注:下面的Socket其实都应该是socket 第14章网络编程 Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定与驱动程序建立关系。
先说明两个概念:中断和系统调用 一 系统调用: 是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序是如何和内核打交道的。 1, Linux系统调用:2.6.19版内核提供了319个系统调用。
在看《程序员的自我修养》时看到一个以前没见过的东西,为此记录下来。(当然事后才知道原来早就被人写烂了,啊哈哈哈) 非局部跳转在C语言中是一个备受争议的机制。使用非局部跳转,可以实现从一个函数体内向另一个事先登记过的函数体内跳转,不必担心堆栈混乱。
关于new和delete,有如下代码 // new_test.cpp #include using namespace std; class A { public: A() { cout
1, 编译器编译源代码生成的文件叫做目标文件。 从结构上说,是编译后的可执行文件,只不过还没有经过链接 3.1 目标文件的格式 1,可执行文件的格式: Windows下的PE 和 Linux下的ELF 2,从广义上说,目标文件与可执行文件的格式几乎是一样的,所以广义上可以将目标文件与可执行文件看成是一种类型的文件。
第二章 编译和链接 2.1被隐藏了的过程 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compilation)-> 汇编(Assembly)-> 链接(Linking)。
(第一次写博客,好激动的说.......) 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compilation)-> 汇编(Assembly)-> 链接(Linking)。