易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下GetModuleFileName的四种写法

Linux下GetModuleFileName的四种写法
  问题的起因是要把一个东东从Windows移植到基于Linux的嵌入式系统上。移植过程中,遇到了GetModuleFileName的问
题。为了解决这个问题,花了不少的时间,也走了不少弯路。下面是整理的结果。
  首先摘录一段文字,来源《UNIX Programming FAQ 中文版》
 
1.14. 我怎样找到进程的相应可执行文件?
  这个问题可以作为'常见未回答问题
'('Frequently Unanswered Questions')的一个好候选,因为事实上提出这个问题经常意味着程序的设计有缺陷。:)
 
 你能作的'最佳猜测'('best
guess')是通过审视'argv[0]'的值而获得。如果它包括一个'/',那么它可能是可执行程序的绝对或相对(对于在程序开始时的当前目录而言)
路径。如果不包括,那么你可以仿效shell对于'PATH'变量的查询来查找这个程序。但是,不能保证成功,因为有可能执行程序时'argv[0]'是
一些任意值,也不排除这个可执行文件在执行后可能已经被更名或删除的情况。
  如果所有你想做的只是能打印一个和错误消息一起出现的合适的名
字,那么最好的方法在'main()'函数中将'argv[0]'的值保存在全局变量中以供整个程序使用。虽然没有保证说'argv[0]'的值总是有意
义,但在大多数情况下它是最好的选择。
  人们询问这个问题的最普通原因是意图定位他们程序的配置文件。这被认为是不好的形式;包含可执行文件
的目录应当*只*包含可执行文件,而且基于管理的要求经常试图将配置文件放置在和可执行文件不同的文件系统。
  试图做这个的一个比较不普通但
更正规的理由是允许程序调用'exec()'执行它自己;这是一种用来完全重新初始化进程(比如被用于一些'sendmail'的版本)的办法(比如当一
个守护程序捕获一个'SIGHUP'信号)。
  完全同意上面的观点!所以并不建议在Linux下去实现GetModuleFileName,不过出于技术的角度,讨论一下这个问题也是可以
的。
 
  好,下面说说茴字的四种写法。哦,不,是GetModuleFileName的四种写法。
GetModuleFileName的四种写法

法一:从PATH入手
说明:上文提供的思路
int GetModuleFileName1( char*
sModuleName, char* sFileName, int nSize)
{
 int ret = -1;
 if(
strchr( sModuleName,'/' ) != NULL )
  strcpy( sFileName, sModuleName
);
 else
 {
  char* sPath = getenv("PATH");
 &nb


相关文档:

从windows移植到linux碰到的问题

环境: LINUX 企业版5.0
        boost_1.40, zlib_1.53, lua_1.5
 
工具:  codelite
 
如何编译boost, zlib, lua:
编译boost:
1. 进入boost_1_40_0文件夹
2. ./bootstrap.sh
3.  ./bjam install
就这3步就装好boost了
 
编译lua:
make
make g ......

Quick guide for porting linux to ALTERA DE2 70

Platform and tools:  Ubuntu 9.04
Step 1,   Download the nios linux tallbal
wget http://www.niosftp.com/pub/linux/nios2-linux-20090929.tar
or use xunlei to fix it.
Step2,
tar xvf  nios2-linux-20090929.tar
cd nios2-linux
./checkout
Step 3,   Generate the fpga.h f ......

搜索文件夹内的所有文件里包含某字符串的linux命令

从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名
查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
查找匹配的行数:
$ grep -c "被查找的字符串" 文件名 ......

Linux Shell 笔记一

最近在学习linux,在这里给大家推荐一个网站http://linux.vbird.org/ 上面关于linux的教程写得很好,也避免了我在学习过程中的很多弯路。
程序一:HelloWord,在屏幕输出HelloWord
利用vim 创建一个sh01.sh文件
echo -e "Hello World!\a\n"
exit 0

程序二:将输入参数拼接后输出
read -p "First Name:" firstn ......

linux 查看 磁盘空间 以兆查看

Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
作者:北南南北
来自:LinuxSir.Org
提要:Linux
磁盘分区表、文件系统的查看、统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作;但在本文,我们只讲磁盘分区
的查看,以及分区的使用情况的查看;本文只是给 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号