一个可以显示不同颜色字符串的bat脚本 rem [1] goto:eofrem 功能: 可以在不定义标签的情况下将控制传送到当前批处理脚本文件的末端.rem 备注: 必须满足以下两个条件: (1)启用了命令扩展(即默认状态);(2) 使用 GOTO 和 :EOF 标签时, 必须在标签前插入(英文状态)冒号.rem [2] set rem 功能:cmd命令的变量类型只有字符串,所以不加双引号。如果变量值是数字,可以直接当数字使用...
git操作常用命令 1. 删除远端分支: git push origin --delete ryk_work 可以删除远程仓库origin的分支ryk_work2.删除本地分支git branch -d ryk_work 删除本地分支ryk_work.
Linux查看系统信息的一些命令及查看已安装软件包的命令 系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv ...
Linux Bash环境下对单引号、双引号和反引号的处理 Bash在扫描命令行的过程中,类似于编译器的预编译过程。Bash首先在文本层次上,优先解释所有的特殊字符,再对转换完成的新命令行进行内核的系统调用。 有三种转义符:单引号,双引号,反斜杠。如要要让通配符,或者元字符变成普通字符,就需要用到转义符.字符说明‘’(单引号)又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。“”(...
函数调用与系统调用的区别 函数库调用系统调用在所有的ANSI C编译器版本中,C库函数是相同的各个操作系统的系统调用是不同的它调用函数库中的一段程序(或函数)它调用系统内核的服务与用户程序相联系是操作系统的一个入口点在用户地址空间执行在内核地址空间执行它的运行时间属于“用户时间”它的运行时间属于“系统时间”属于过程调用,调用开销较小需要在用户空间和内核上下文环境间切换,开销较大在C函数库libc中有大约300个函数在UNI...
Linux升级glibc 转自:https://www.cnblogs.com/coyu/p/5744901.html 一、简介glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。同时,错误地升级glibc将会毁掉一个系统(以至于无法登录)。初...
【转】高效程序员练功之道 分享一下别人的推荐书籍,学习之旅要时刻保持在路上~~~~领域 子领域 书籍推荐 编程语言 C 《C专家编程》 《C缺陷与陷进》 《C和指针》 C++ 《C++ Primer》 《more effective c++》 《effectiv c++》 《深度探索c++模型》 Python 《python核心编程》 《Python_Cookbook》 开发&设计 代码风格 《代码...
【问题不重犯】linux open函数把文件清空了! linux open的属性中,有个O_TRUNC,其含义是若文件存在,其长度被截为零(文件被清空),但是文件权限不变。所以,如果使用不当,通过这种方式打开文件,发现文件内容没了(这个在写测试码时碰到的问题)...
【问题不重犯】使用到的接口必须要有原型声明 如果使用的接口在外部有定义。那么在使用的时候,如果没有包含该接口声明所在的头文件,必须要在使用的文件中进行声明(extern)。 因为,如果不进行声明,则编译器默认将所有的参数和返回值都默认为int类型。有可能原来的参数或返回值类型不是int,而是其他的,比如指针类型。在64位机子上,数据就相当于被截断,然后再进行扩展,从而导致异常问题。...
-fprofile-arcs -ftest-coverage参数引起的问题 最近在做测试,需要动态加载so。测试用例跑调试全部通过。为了做覆盖率,在编译选项中添加-fprofile-arcs -ftest-coverage参数,但是在编译so时,也用了该选项。重新编译后运行测试用例,竟然崩溃了! 刚开始还以为同事在定位问题的时候把用例改了,确认后发现代码没有修改,他环境跑没有问题。gdb后发现问题的调用栈出现在gcov上,并且是在so的代码中。于是...
ASAN使用脚本实例 #!/bin/sh########################################################################## File Name: cpnt_asan_start.sh# Author: vitor# Created Time: 2018.6.6################################################...
linux使用gcov和lcov进行覆盖率统计 linux下,可以使用gcov和lcov生成覆盖率统计的报告。gcov是 GCC Coverage,随GCC一起发布,配合gcc实现对C/C++代码的语句覆盖和分支覆盖测试。要使用gcov,需要进行以下设置: 1. 要使用lgcov库,在编译时链接该库; 2. 源码和测试码编译的编译选项中添加"-fprofile-arcs", "-ftest-coverage"这两个测试...
linux修改PATH环境变量 当我们需要指定运行某个路径下的可执行文件时,为了方便使用,我们通常需要将这个路径添加的PATH环境变量中,然后就可以在任意地方直接输入可执行文件名称,运行程序。 这里,为了使得修改对所有的用户生效,直接对/etc/profile进行修改,如需要添加/home/lcov/bin路径,在profile中找到PATH变量,在后面添加:export PATH=$PATH:/home...
_()---由此知度娘和google的冷暖 看c代码,看到一个奇怪的用法,_("R")[0]。 纳尼,这个是什么鬼。我比较菜,平时基本用度娘进行搜索,于是变换法子的去查找和_()相关的关键词。很遗憾,没有。 向其他同事求教。这也挺有趣的。因为我截取了代码的一部分,有同事说你这个是不是C代码,需要看上下文来确定(我只能说我确认是C代码。。。);有的同事说,你搜索一下"_"(我不知道怎么说。。)。但是有个同事不言语,看...
标准输出(stdout)和标准错误(stderr)的一些小点 相同<1> 两者都是默认将信息输出到终端。<2> 可通过setvbuf来改变其输出方式。不同:<1> stdout默认是基于行的缓冲,即字符会缓冲起来,直到碰到换行符、缓冲区满、fflush或者文件关闭(程序返回退出)的时候才将这些字符输出;而stderr是无缓冲的,字符会直接输出。<2> 如果将输出定向到文件,标准输出会将信息输出到文件,而标准错则...
ln -s 创建软链接的路径问题 创建软连接,是非常简单的,直接使用ln -s 命令即可,其语法为:ln -s 原始文件路径 软链接文件路径。比如, ln -s a.txt a_soft. 给a.txt创建了链接文件a_soft。 但是,如果当前所在目录为/home. 要给该目录下的a.txt文件创建一个软连接a_soft,放在其子目录B下,首先想到的是这样: ln -s ./a.txt ./...
dlclose隐藏的秘密! 最近在忙一个项目,涉及到动态库的加载卸载,也就是常用的dlopen、dlcose接口的使用。 在进行系统测试的时候,测试动态库是否加载成功,是通过使用dlsym的方式获取动态库中的符号的方法来判断的(形如dlsym(0, "functionName"))。比较奇怪的问题出现了,当使用这种方式进行接口调用,动态库卸载失败了! 但是如果使用dlsym(handl...