javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

c-建立.so也是可執行文件

因此,每個人都可能知道glibc的/lib/libc.so.6可以像普通可執行文件一樣在shell中執行,在這種情況下,它會打印其版本信息并退出。 這是通過在.so中定義一個入口點來完成的。 在某些情況下,將其用于其他項目也可能很有趣。 不幸的是,您可以通過ld的-e選項設置的低級入口點有點低級:動態加載程序不可用,因此您無法調用任何適當的庫函數。 因此,glibc通過該入口點中的裸系統調用來實現write()系統調用。

我現在的問題是,誰能想到一種好方法,如何從該入口點引導一個完整的動態鏈接器,以便一個人可以從其他.so存取功能?

trans by 2020-02-29T19:19:24Z

如何在GDB中漂亮地打印STL容器?

我已經按照GDB Wiki上的說明安裝了用于查看STL容器的python漂亮打印機。 我的~/.gdbinit現在看起來像這樣:

python 
import sys 
sys.path.insert(0, '/opt/gdb_prettyprint/python') 
from libstdcxx.v6.printers import register_libstdcxx_printers 
register_libstdcxx_printers (None) 
end 

但是,當我運行GDB并嘗試打印STL類型時,得到以下信息:

print myString
Python Exception <class 'gdb.error'> No type named std::basic_string<char>::_Rep.: 
$3 = 

誰能對此有所啟發? 我正在運行GDB 7.4隨附的Ubuntu 12.04。

trans by 2020-02-29T10:31:06Z

linux-CentOS:在PHP安裝中啟用GD支持

如何在CentOS安裝中啟用GD支持?

trans by 2020-02-22T08:12:46Z

c-如何在讀取函數調用中實現超時?

我想使用串行com端口進行通信,并且每次調用read函數調用時都想實現超時。

int filedesc = open( "dev/ttyS0", O_RDWR );
read( filedesc, buff, len );

編輯:

我正在使用Linux OS。 如何使用選擇函數調用實現?

trans by 2020-02-22T07:17:28Z

如何通過Linux腳本檢查是否已安裝PostgreSQL?

我想檢入一個腳本,看看是否在Linux上安裝了PostgreSQL并打印結果。有關如何進行檢查的任何建議?

trans by 2020-02-22T02:26:01Z

目錄-Linux上文件/目錄的最大數量?

我正在開發一個LAMP在線商店,它將允許管理員為每個項目上傳多個圖像。

我擔心的是-馬上就會有20000個項目,大約意味著60000張圖像。

問題:

  1. Linux上文件和/或目錄的最大數量是多少?

  2. 處理這種情況的通常方法是什么(最佳實踐)?

我的想法是根據每個項目的唯一ID為每個項目創建一個目錄,但是那時我在主上載目錄中仍然有20000個目錄,并且它將無限期增長,因為不會刪除舊項目。

謝謝你的幫助。

trans by 2020-02-22T01:49:17Z

linux-如何僅重新編譯一個內核模塊?

通常,內核源代碼存儲在/usr/src/linux-2.6.x/中。為了避免在修改模塊的源代碼時重新編譯整個內核,如何僅重新編譯該模塊?

trans by 2020-02-22T01:31:00Z

如何檢查給定進程在運行時加載了哪些共享庫?

有沒有辦法檢查正在運行的進程在使用哪些庫?

更具體地說,如果程序使用dlopen加載某些共享庫,則readelf或ldd不會顯示它。是否有可能從正在運行的進程中獲取該信息? 如果是,怎么辦?

trans by 2020-02-21T13:40:29Z

遞歸-如何在Linux上使用sftp上傳整個包含其他文件夾的文件夾?

我嘗試了put -r directory/*,它僅上傳文件而不是文件夾。 給了我錯誤,不能Couldn't canonicalise

任何幫助將不勝感激。

trans by 2020-02-20T16:44:31Z

linux-使用sudo ulimi時找不到命令

我正在使用ubuntu 12.04,在其上運行ulimit -n,它顯示1024,我想將打開文件的限制從1024增加到65535,所以我嘗試了以下命令:

sudo ulimit -n 65535

但我得到以下錯誤:

sudo: ulimit: command not found

如何將文件限制從1024增加到65535? 任何幫助將不勝感激。

trans by 2020-02-20T14:09:24Z

linux-一種確定進程的“實際”內存使用情況的方法,即私有臟RSS?

諸如“ ps”和“ top”之類的工具報告各種內存使用情況,例如VM大小和Resident Set Size。 但是,這些都不是“實際”內存使用情況:

  • 程序代碼在同一程序的多個實例之間共享。
  • 共享庫程序代碼在使用該庫的所有進程之間共享。
  • 某些應用會分叉進程并與其共享內存(例如,通過共享內存段)。
  • 虛擬內存系統使VM大小報告幾乎毫無用處。
  • 換出一個進程時,RSS為0,因此它不是很有用。
  • 等等

我發現,Linux報告的私有臟RSS是最接近“實際”內存使用情況的東西。 可以通過將/proc/somepid/smaps中的所有Private_Dirty值相加來獲得。

但是,其他操作系統是否提供類似的功能? 如果沒有,有哪些替代方案? 我特別對FreeBSD和OS X感興趣。

trans by 2020-02-20T08:40:19Z

linux-在反向搜索(Ctrl + R)中,任何在歷史記錄中類似命令之間切換的方法

我認為一個例子將有助于理解我的問題。

...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important
...
...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important/tested
...
...

假設這是歷史命令的順序。 如果我在執行Ctrl + R并鍵入reverse-i-search,它將顯示最后執行的scp命令(即以'tested'結尾的行)。

但是我想找到以'important'結尾的scp命令。 那么,在這reverse-i-search可以领救济金的游戏,有什么方法可以查看所有以scp開頭的命令,并選擇合適的命令?

trans by 2020-02-20T06:05:18Z

linux-如何在cen中打開端口

我已經安裝了Web應用程序,該應用程序正在centOS的8080端口上運行。 我只有該膩子的命令行訪問權限(通過膩子)。 我試圖從我通過膩子連接的Windows機器上訪問該應用程序,但是它給出了連接超時錯誤。

然后,我嘗試打開端口8080。我在iptables中添加了以下條目。

-A輸入-m狀態-狀態新-m tcp -p tcp --dport 8080 -j接受

將其添加到iptables中后,我使用-/etc/init.d/iptables restart

但是仍然無法從Windows計算機訪問該應用程序。

我在做任何錯誤或遺漏什么嗎?

trans by 2020-02-19T21:59:58Z

c-malloc如何在多線程環境中工作?

典型的malloc(適用于x86-64平臺和Linux OS)是否在開始時就天真地鎖定了互斥鎖并在完成后將其釋放,還是以更巧妙的方式將互斥鎖更精細地鎖定了,從而減少了鎖爭用? 如果確實采用第二種方法可以领救济金的游戏,那么該如何做呢?

trans by 2020-02-19T20:18:26Z

python-如何使用python2.7 pip代替默認pip

我剛安裝了python 2.7,并且還安裝了2.7站點包。

當我得到的版本:

pip -V

表明:

pip 1.3.1 from /usr/lib/python2.6/site-packages (python 2.6)

如何使用位于以下位置的2.7版本的pip:

/usr/local/lib/python2.7/site-packages
trans by 2020-02-19T18:22:07Z

x86-如何反匯編,修改然后重新組裝Linux可執行文件?

無論如何,這可以做到嗎? 我使用過objdump,但是不會產生我所知道的任何匯編程序都會接受的匯編輸出。 我希望能夠在可執行文件中更改指令,然后再對其進行測試。

trans by 2020-02-19T15:57:57Z

c-找不到'readline / readline.h'文件

我包括:

#include "stdio.h"    
#include <readline/readline.h>
#include <readline/history.h>

我的編譯器包含該標志

-lreadline

但我仍然收到錯誤消息:

fatal error: 'readline/readline.h' file not found

我正在嘗試使用功能readline();

在這里更詳細地定義:[http://linux.die.net/man/3/readline]

trans by 2020-02-19T06:38:54Z

bash-如何獲取Linux中兩個文件之間的差異(僅添加)

我有兩個文件A1和A2(未排序)。 A1是A2的早期版本,并且某些行已添加到A2。 如何獲得添加到A2的新行?

注意:我只想添加新行,而不想要A1中但在A2中刪除的行。 當我執行27539199206469150150時,我得到了添加和刪除,但是我只想要添加。

請提出一種方法。

trans by 2020-02-19T03:48:52Z

linux-如何通過終端查看硬盤上未分配的可用空間

我想通過終端查看硬盤上未分配的可用空間。我全力以赴,在互聯網上尋找可能的解決方案,但徒勞無功。

我使用了各種命令,例如dfdufdiskparted等。它告訴我有關已安裝和已卸載的磁盤的信息,但是我剩余的未分配空間又如何呢?

當然,我可以使用Fedora提供的“磁盤工具”應用程序查看它,但是由于我喜歡在終端機中,所以我想在其中查看。

誰能幫我解決一個問題?

trans by 2020-02-18T14:22:11Z

linux-如何在docker容器上運行vi

我已經在主機虛擬機上安裝了docker。 現在要使用vi創建文件。

但這向我顯示了一個錯誤:

bash: vi: command not found
trans by 2020-02-18T11:16:18Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一頁 共65頁