当前位置:  技术问答>solaris 10下的多线程和solaris 5.8下多线程编译有什么区别?? iis7站长之家

在solaris下如何获得应用程序路径?类似于windows下的GetModuleFileName函数的功能。

    来源: 互联网  发布时间:2015-09-25

    本文导语:  我找到一段代码,可以在linux下获取应用程序的路径,但是在solaris下是不行的。 请问一下,在solaris下如何获得应用程序的路径? linux下的代码如下: ------------------------------- #include   #include   main()  {   char ex...

我找到一段代码,可以在linux下获取应用程序的路径,但是在solaris下是不行的。

请问一下,在solaris下如何获得应用程序的路径?


linux下的代码如下:


-------------------------------
#include  
#include  

main() 

 char exePath[NAME_MAX+1]; 
 char fullPath[NAME_MAX+1]; 
 sprintf(exePath,"/proc/%d/exe",getpid()); 
 readlink(exePath,fullPath,NAME_MAX); 
 printf("%sn",fullPath); 
 getchar(); 
}
-------------------------------

|
solaris没用过下面是linux下函数你看一下solaris上有没有
NAME
       getcwd, get_current_dir_name, getwd - Get current working directory

SYNOPSIS
       #include 

       char *getcwd(char *buf, size_t size);
       char *get_current_dir_name(void);
       char *getwd(char *buf);

|
FYI

下面是在unix里面获取应用程序的路径

如果argv[0] 是以 "/" 开始的字,它可能就是你的执行程序所在的绝对路径。如果不是那就得照顺序检查PATH里的每一个目录看看里面是否有与argv[0]一样的程序。如果找得到的话将那个目录与程序名称拼起来可能就是你要的pathname了。  
不过上述方法找到的并不一定是正确的,因为在程式中用到exec()时,argv[0]是可以随便给的。将argv[0]设为与要执行的程式名称相同只是一种惯用法罢了!

以下的例子可能会使你更清楚些:  
#include   
main()  
{  
execl("/tmp", "vi test.cc", (char *)NULL);
}  

这个被执行的程序就会认为它的名字(argv[0]之值)是 "vi test.cc").

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Solaris 9中的C程序如何获取执行程序所在的路径?
  • Java程序在solaris上执行exe找不到路径
  • Solaris怎样在命令提示符前随着目录的改变一直显示当前所在的目录或路径呢?
  • 急!一个关于jspSmartUpload在Solaris(Unix)上载路径设置的问题!?在线等待!
  • solaris 8上能用gcc for solaris7 或 solaris9的版本吗?
  • Solaris菜鸟!!!请问Solaris SPARC和Solaris x86这两个版本之间有什么具体的差异吗?
  • 请问Solaris现在最高的版本是多少?Solaris8.0价格如何?Solaris8.0和Red Hat Enterprise Linux AS 3.0有何区别?
  • 请教solaris高手一个solaris安装问题
  • solaris 10下的多线程和solaris 5.8下多线程编译有什么区别??
  • 听说在solaris上运行java飞快,solaris有多大,如果不大,我想下载,哪有下载?
  • 请问:SOLARIS(for intel)如何装d-link网卡。哪儿下Solaris电子文档。
  • Solaris for X86 和Solaris for Sparc主要区别在哪?
  • 请问Solaris的优势?Solaris下开发相关及系统管理相关资料是否有提供?谢谢
  • telnet 进去的时候我看写着SUN OS5.8,这个是不是Solaris?我找不到Solaris5.8的软件?
  • 没有光碟,怎样从solaris8升级到solaris9?
  • solaris 10能不能远程桌面连接Solaris 10(或 Linux) ,不要安装其他软件
  • 请问高手,在Solaris 8 gcc3.1编译的 *.o 和库文件 *.a ,可以提供在Solaris 7,9下使用吗?
  • 我装了Solaris后,98和2000都找不到了,启动时直接进入Solaris,该怎么办,请高手指点!
  • solaris开发一窍不通,如何开发Solaris下的c程序?
  • 想用Virtual PC虚拟UNIX,求Solaris 10 ,Solaris 10 for x86版或已经设置好的虚拟文件?
  • 怎么修改IP(SOLARIS),怎么在WIN上用EXTRX!X连上SOLARIS
  • solaris 10 下怎么安装jdk-6u5-solaris-i586.sh? ftp上传大文件中断怎么解决?
  • 专门为难solaris高手,之solaris10的修改最大TCP连接数问题
  • solaris root 的shell搞错了,提示 no shell root 进不了!(solaris 8 for x86)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3