取當前程序對應之靜態映像檔案的絕對路徑/proc/self/exe
char* get_self_executable_directory ()
{
int rval;
char link_target[1024];//目標地址
char* last_slash;
size_t result_length;//結果的長度
char* result;
/* Read the target of the symbolic link /proc/self/exe. */
讀取絕對路徑
rval = readlink ("/proc/self/exe", link_target, sizeof (link_target) - 1);
if (rval == -1)
/* The call to readlink failed, so bail. */
abort ();
else
/* NUL-terminate the target. */
link_target[rval] = '\0';
/* We want to trim the name of the executable file, to obtain the
directory that contains it. Find the rightmost slash. */
找到最後一個/
last_slash = strrchr (link_target, '/');
如果是空或者是以/開頭,則退出
if (last_slash == NULL || last_slash == link_target)
/* Something stange is going on. */
abort ();
last_slash儲存的是最後的/的地址
/* Allocate a buffer to hold the resulting path. */
link_target開始的地址
result_length = last_slash - link_target;
result = (char*) xmalloc (result_length + 1);
/* Copy the result. */
strncpy (result, link_target, result_length);
result[result_length] = '\0';
return result;
}
同時可以用以下程式得到絕對路徑
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define MAXBUFSIZE 1024
int main ( int argc, char * argv[] )
{
char buf[ MAXBUFSIZE ];
int count;
count = readlink( "/proc/self/exe", buf, MAXBUFSIZE );
if ( count < 0 || count >= MAXBUFSIZE )
{
printf( "Failed\n" );
return( EXIT_FAILURE );
}
buf[ count ] = '\0';
printf( "/proc/self/exe -> [%s]\n", buf );
return( EXIT_SUCCESS );
}
相關推薦
取當前程序對應之靜態映像檔案的絕對路徑/proc/self/exe
提供一個linux advanced programming 上的得到絕對路徑目錄的函式:char* get_self_executable_directory (){ int rval; char link_target[1024];//目標地址 char* la
mysql 取當前日期對應的週一或週日,日期操作
獲取本週週三對應的日期: select subdate(curdate(),date_format(curdate(),'%w')-3) as '本週三對應日期' 獲取對應日期是周幾: SELECT date_format('2017-04-19','%w');
Java 如何匯出記憶體映像檔案
記憶體溢位自動匯出 -XX:+HeapDumpOnOutOfMemoryError // 當記憶體溢位的時候自動匯出映像檔案 -XX:HeapDumpPath=./ // 匯出映像檔案的路徑 上面的這兩個JVM 引數就可以在發生記憶體溢位的時候,自動將 heap 匯出到設定的路徑
如何製作蘋果系統dmg映像檔案
原文地址::https://jingyan.baidu.com/article/fa4125acf4b0c728ac7092b0.html 相關文章 1、用Mac OS X系統映像檔案(dmg)安裝系統----https://wenku.baidu.co
利用vmware虛擬機器建立一個軟盤映像檔案
很多同學在做軟盤linux系統實驗時,大都為第一步操作發愁,這什麼是軟盤從來沒有見過。沒有軟盤,如何建立一個軟盤映像檔案呢?這是個問題。 但是我們可以利用vmware虛擬機器軟體提供的一個功能很容易的建立一個軟盤映像檔案,作為軟盤來使用。很方便的。 具體步驟如下: 1.關閉虛擬機器,注意不是關閉vm
mount一個lvm格式的磁碟映像檔案
如果是非lvm格式的,則非常方便,給mount命令傳遞offset引數即可,例如:[[email protected] xen-images]# fdisk -lu centos_vm1 last_lba(): I don't know how to handle
手動一步一步來製作備份Raspberry Pi樹莓派SD卡的img映像檔案(不用dd命令)
之前複製或者備份樹莓派的SD卡,都是用dd命令全盤複製,可以用,但是這樣有兩大缺點: 1. 慢 2. 一個大的SD卡,比如64G,即使只用了2G,經過dd命令生成的img檔案也會生成一個和整個SD卡容量一樣大小的檔案,即64G 於是,需要有一個可以解決上述問題的製作樹莓
[系統操作][grub4dos]引導硬碟映像檔案
map --heads=16 --sectors-per-track=63 (hd0,1)/ABOS (hd3) map --hook chainloader (hd3)+1 rootnoverify
Win XP iso映像檔案(附序列號)
迅雷下載地址: ed2k://|file|zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070%20(ED2000.COM).iso|630237184|EC5191
在VirtualBox中收縮虛擬磁碟映像檔案
轉自http://blog.sina.com.cn/bobbyworm 由於經常要測試一些軟體,我在VirtualBox虛擬機器中安裝了一套Windows。使用過虛擬機器的朋友都知道,為了節省硬碟空間,一般都使用動態擴充套件映像。它不會在一開始就佔用指定大小的硬碟空間,而是隨著實際使用的需要動態擴充套件。但是
映象檔案和映像檔案
映象檔案(Image)和映像檔案一般只的是同一個概念,而且英文中同稱為Image,如果非要細分,則有以下區別: (1)映象檔案:把外存上的資料和儲存地址資訊儲存在一個檔案內,如Ghost。映象檔案中包含許多資訊,除了資料本身還包含系統檔案、引導檔案、分割槽表資訊等,這樣映象
2440移植Linux Kernel筆記(三)------製作jffs2映像檔案
你好!這裡是風箏的部落格,歡迎和我一起交流。 如果本篇部落格對您有幫助,或許可以在下方評論給我留個言。 之前我們把busybox安裝到/work/nfs/root/目錄下. 現在: cd
html圖像、絕對路徑和相對路徑,鏈接
jpg 彈出 足夠 log 路徑和 文件的 加載失敗 索引 markdown html圖像 <img>標簽可以在網頁上插入一張圖片,它是獨立使用的標簽,通過“src”屬性定義圖片的地址,通過“alt”屬性定義圖片加載失敗時顯示的文字,以及對搜索引擎和盲人讀屏軟件
vim底部顯示當前編輯檔案絕對路徑+滑鼠游標定位
vim底部顯示當前編輯檔案絕對路徑 方法一:sudo vi /etc/vim/vimrc 在最後面把下面語句複製貼上進去。 " 這個是雙引號是註釋的含義! " 狀態列 set laststatus=2 " 總是顯示狀態列 highlight StatusLine
使用os獲取當前檔案絕對路徑! 備忘
寫爬蟲,存檔案時遇到了路徑和命名問題,查閱資料,寫在這裡以備忘! import os,sys ''' os.getcwd() Return a string representing the current working directory. Availabilit
VIM底部顯示當前編輯檔案絕對路徑
vi /etc/vim/vimrc 底部新增 57 " 狀態列 58 set laststatus=2 " 總是顯示狀態列 59 highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue 60
Python開發簡單爬蟲之靜態網頁抓取篇:爬取“豆瓣電影 Top 250”電影數據
模塊 歲月 python開發 IE 女人 bubuko status 公司 使用 目標:爬取豆瓣電影TOP250的所有電影名稱,網址為:https://movie.douban.com/top250 1)確定目標網站的請求頭: 打開目標網站,在網頁空白處點擊鼠標右鍵,
【舊文章搬運】獲取並修改PEB中的映像路徑,命令列和當前目錄
原文發表於百度空間,2008-7-24 當時對UNICODE_STRING的使用還有點問題,導致最終效果圖中字串被截斷了========================================================================== 先從分析PEB開始吧.感覺分析這個東
第九節:fillder抓取APP數據之小程序
inf 工具 開始 自帶 long wifi user 用戶 點擊 1、下載fillder ,fillder官網:https://www.telerik.com/fiddler 2、安裝好後設置fillder: 工具—>選項,打開設置面板。選擇HTTPS
Android 殺掉當前程序的進程
當前 logs android 我們 ces roi strong 退出 tro 在銷毀所有活動的代碼後面再加上殺掉當前進程的代碼,以保證程序完全退出,殺掉進程的代碼如下所示: android.os.Process.killProcess(android.os.Proce