1.cscopeCscope 使用
2.Slackware安装包全系列说明教程
3.keil5程序如何生成主程序流程图以及各子程序流程图?
4.vim+ctags+cscope+Taglist+Nerdtree打造成sourceinsight
5.如何查看linux命令源代码
cscopeCscope 使用
Cscope的源码安装与配置步骤如下:2.1 安装步骤
2.1.1 下载:访问[1]获取软件。
2.1.2 安装过程:
执行 `./configure --with-flex`(Linux平台建议加上此选项)
执行 `make`,源码通常无需处理错误
通过 `make install` 安装完成
在Ubuntu中,源码可使用 `sudo apt-get install vim` 命令行安装。源码
2.2 配置Vim 编辑vim配置文件vimrc,源码将cscope_map.vim的源码docker源码分享工具内容(从`if has("cscope")`到`endif`)复制到系统或个人配置文件中。具体参考[2]获取详细指令。源码2.3 Cscope的源码使用
2.3.1 建立索引文件:
在源码根目录(如Linux源码)下运行 `:cscope -Rbkq`,其中R包含子目录,源码b禁用用户界面,源码q生成索引文件以加速查找。源码
排除/usr/include目录:`k`。源码
2.3.2 查找功能:
`cs find`命令可用于查找,源码如查找调用do_fork的源码函数:`:cs f g do_fork`。
按键配合:Ctrl+\ + s 输入`:cs find s`,源码支持其他如g、d等命令。
2.3.2.4 Cscope_map.vim的键映射示例:
`nmap s`:在普通模式下,输入`:cs find s`,通过=expand("")获取光标处的变量或函数。
Slackware安装包全系列说明教程
转的一个文章,感觉现在用slackware的人挺少的,今天发现的,原来sl里面还葳龙卧虎了这么些好东东。
不过好多都应该是通用的,你可以在你的版本里试试。
今天按纳不住,把 Slackware.0的仓库核心指标源码安装包又从头到尾细看了一遍,感觉Slackware在简洁性和易用性上绝对是强于RedHat的,在原汁原味上就更不用说了。举个简单的例子,RedHat的安装程序确实是花哨,也非常人性化,但是这动不动就退出重启确实是恼人。就像源盘里如果某个文件出错(也不一定是光盘的原因,反正安装的时候不知什么原因就是源媒体出错),那么整个安装过程就挂了,你就得重启再来。就像进个rescue模式还要等半天时间去搜索硬件配置。这一点上Slackware做的比较好,首先是内核起来之后大部分模块都已经自包含了(必要时候可以自已选择启动哪个核心),而且安装程序就是作为一个普通程序去运行,每一个step都可以单独执行,出错了也没关系,再setup就行了。所以安装的时候觉得控制能力更强了,真正随心所欲。不像其它安装程序一样每一步都得小心翼翼的担心别按错了,或者是像Debian一样一去不复返想找个“Bak”都找不到。并且由于Slackware选的包是最简洁的,所以可以说Slackware绝对是众多Linux发行版里安装最省时间的(另一个是BSD,这两个本来就是有很多相似之处)。
在安装包的选择上Slackware比较精心,不往里面人为加入许多不必要的东西(对比RH一堆的edhat-XXX.rpm),尽可能的棋校网站源码保持原有的味道。所以在操纵Slackware的时候能够体会到更多的系统运行机制。下面我把值的注意的包详细的进行一下说明。主要是Red Hat里没有而Slackware有的,或者是Slackware里比较有特色的包。一些众所周知的包我就不提了。另外本文本只涉及 disk1,disk2上的GNOME和KDE包应该比较简单了。
对于Slackware的安装机制,采用了不考虑依赖关系的tgz格式,说白了就是把要安装的文件打一个压缩包就完事。至于不考虑依赖关系可能会给许多初学者造成麻烦,毕竟在没有对文件系统的组成了解透彻之前,很顺利的找到所有需要的库,可能确实不是太简单。本文的目的也是给这样的同学们一点提示,如果你装了某个软件,但还是提示缺少lib….so,从文件名上大致能猜出是缺少了哪一个安装包。
A:基本Linux系统。这个组里面包很少,只有十几个。是Linux运行的最小文件系统。
floppy:DOS格式的软件操作,mcopy,mformat等。
kbd:更改键盘映射及console字体。
AP:文本模式下的网站源码资源在线应用程序。这里面包较多。很多是要与L(库)里的包相配合。并且很奇怪这里面安排了大量的文本播放mp3、文本音量控制、文本放CD的工具。
a2ps:(any to ps)将.txt等多种格式的文档转成.ps格式。像打印邮件一样,加上页面边框、时间、文件名、页码等。使用了apsfilter库。
amp:命令行的MP3播放器。很不错。但不能播avi、wmv等。
aumix:文本模式下的音量控制。也有X的界面。
bc:代数计算。增强shell的浮点和数学计算能力。
bpe:Binary Patch Editor二进制补丁编辑器(?)
cdparanoia:CD抓轨
cdrtools:刻CD盘的工具,包含cdrecorder。想刻DVD用dvd+rw-tools。
enscript:类似于a2ps,也是将文档转成ps。
flacc: Free Lossless Audio Codec。音频播放。java socket 源码分析
espgs: ES PS/PDF解释器。
hpijs:HP打印机过滤器。
madplay:又是文本的MPEG 单频播放。
mpg: 经典的、文本的、MPEG 单频播放。
normalize: 还是文本的MPEG 单频播放。
rexima:文本的音量控制器。
sc :
文本的电子表格,类似excel,命令很复杂。不知道怎么打开文件。(感觉经典linux软件很多都是命令比较复杂,比如emacs,sc这样的工具,我第一次打开时都是不知道如果退出。后来都是kill掉的)
screen: 文本终端下虚拟多窗口。当你只开一个console时,Ctrl-A, 再按c就生成了另一个screen,等等。命令很复杂,man有三千行。不过很好用(在你学会的前提下)。
seejpeg:看jpeg。
sox: 音频工具集,支持各种音频格式转换,其地位相当于图形处理的ImageMagic。比如一条sox a.mp3 a.ogg能把mp3转成ogg格式。比如索爱的T手机不支持mp3,但是能放ogg,这样就可以把mp3转到手机上听了。否则在windows下好象只有NOKIA的一个软件能转OGG 。
vorbis-tools:OGG播放。其中包含一个命令ogg,好象是和mpg学的。
workbone:文本的CD播放机。利用右边小键盘来控制。还不错。
*上面提了不少文本的音量控制器(Audio Mixer),都大同小异,其实感觉最漂亮的还是alsa带的一个,界面那叫花哨,彩色Ascii的,就像音响前面板上音量显示一样!
D:开发工具。包不是特别多。
cscope:源代码浏览工具,能对一个目录下的源程序进行索引、查找等工作,类似于source insight。但是文本显示能力比较有限,可能用起来不是特别方便。
guile:GNU扩展的一种语言,基于Lisp,解释型的函数型语言。
j2sdk:java开发工具。
p2c:很有意思的一个pascal-c语言转换工具。挺好用的
pmake:从BSD移植的一个make工具,类似的还有/usr/XR6/bin/imake,感觉都是类似于qmake一样的Makefile辅助生成工具。
strace: 重要的内核观察工具,打出一个程序执行过程的所有系统调用序列。
E:GNU Emacs。我主要是用vi,所以一般不装。看个人习惯了。
F:FAQs/DOCS
包含linux-faqs和linux-HOWTOs两个包,在/usr/share/doc下生成一堆html。想深入学linux的必看,其中包含了你曾经想问和将来会问的绝大多数问题。
K:kernel-source,是2.4.的原版。
个人对rh将/include/linux/version.h等文件的改动极为反感,它造成了多少人在版上问模块的版本问题。
上一页12 下一页
keil5程序如何生成主程序流程图以及各子程序流程图?
你好!Keil5本身并不提供直接生成流程图的功能,但可以使用一些工具来生成流程图。
下面介绍一些生成Keil5程序流程图和子程序流程图的方法:
使用Doxygen工具
Doxygen是一种自动化文档生成工具,它可以自动分析源代码并生成各种文档,包括流程图。在Keil5中,可以将程序文件导出为一个文件夹,然后使用Doxygen对该文件夹进行分析,生成程序流程图和子程序流程图。具体使用方法可以参考Doxygen的官方文档。
使用GraphViz工具
GraphViz是一种开源的图形可视化工具,它可以生成各种流程图、状态图等。在Keil5中,可以将程序文件导出为一个.dot文件,然后使用GraphViz将该文件转换成流程图。具体使用方法可以参考GraphViz的官方文档。
使用Cscope工具
Cscope是一种代码浏览器,它可以方便地查找函数、变量、宏等。在Keil5中,可以使用Cscope查找程序中的函数和调用关系,然后手动绘制流程图和子程序流程图。
vim+ctags+cscope+Taglist+Nerdtree打造成sourceinsight
利用vim、ctags、cscope、Taglist和Nerdtree工具,可以将vim升级为一个具备基本IDE功能的文本编辑器。以下是具体步骤:
首先,通过在Linux(Ubuntu ._ LTS)的root权限下安装ctags,它能帮助定位和跳转函数定义。安装后,生成tags文件需要在源代码目录下执行特定命令,包括递归创建、添加函数原型等信息。
接着,cscope是ctags的增强版,用于快速切换和查找函数。安装cscope后,生成cscope.out数据库,并将其路径添加到~/.vimrc文件中,以实现跨目录的函数查找。
Taglist是一个vim插件,用于在vim中列出函数名和变量名,支持跳转。下载并配置后,只需在命令模式下输入特定命令即可使用。Nerdtree则显示文件结构,与Taglist类似,可以设置快捷键和默认打开状态。
在vim中,通过`:ta`、`:ts`等命令操作ctags,cscope则在底线命令模式下输入特定格式进行查询。使用Nerdtree时,可以设置快捷键使其显示在窗口右侧。
这些工具的安装和使用让vim具备了基本的代码导航和文件结构浏览功能,满足了基本的开发需求。更详细的使用教程和功能介绍后续将发布。
如何查看linux命令源代码
用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls /bin/ls用命令搜索该软件所在包,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:
sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本号 sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件 patch -p0 < coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了