time limit: 1 sec
memory limit: 128 mb
submit: 45
solved: 9 [
submit][
status][
web board]
linux程式除錯strace命令詳解
strace 命令是一種強大的工具,它能夠顯示所有由使用者空間程式發出的系統呼叫。
strace 顯示這些呼叫的引數並返回符號形式的值。strace 從核心接收資訊,而且不需要以任何特殊的方式來構建核心。
strace 的輸出如下:
brk(0) = 0×8062aa8
brk(0×8063000) = 0×8063000
mmap2(null, 4096, prot_read, map_private, 3, 0×92f) = 0×40016000
每一行都是一條系統呼叫,等號左邊是系統呼叫的函式名及其引數,右邊是該呼叫的返回值。
strace的輸出結果
將所有被呼叫過的系統呼叫名整理出來,去掉重複,按照字母排序。
brk(0) = 0×8062aa8brk(0×8063000) = 0×8063000
mmap2(null, 4096, prot_read, map_private, 3, 0×92f) = 0×40016000
brkhintmmap2
明顯的結構體排序,不解釋!我們要做的就是怎麼劃取字串!
這裡我使用的是cin.getline(字元陣列的位址,接受的字元數)還有一種形式cin.getline(字元陣列的位址,接受的字元數,結束字元),遇到'\n'或者eof結束!
#include#includeusing namespace std;
struct st
s[10000];
int compare(st p,st q)
int main()
{ char s1[10000],s2[10000],c;
int i=0,j,stl,f=0,h=0,flag,l;
while(cin.getline(s1,10000))
{ // puts(s1);
memset(s2,0,sizeof(s2));
stl=strlen(s1);
flag=0;
for(i=0;i
pstack 跟蹤程序棧
此命令可顯示每個程序的棧跟蹤。pstack 命令必須由相應程序的屬主或 root 執行。可以使用 pstack 來確定程序掛起的位置。此命令允許使用的唯一選項是要檢查的程序的 pid。請參見 proc 1 手冊頁。這個命令在排查程序問題時非常有用,比如我們發現乙個服務一直處於work狀態 如假死狀態...
動態規劃 Problem F
動態規劃 problem f 題意 數塔問題,有數塔 類似於三角形數字但稍有不同 要求從頂層走到底層,若每一步只能走到相鄰的結點,求經過的結點的數字之和最大是多少。解題思路 可以採用從下往上的思路,即從最後一排的數向上遞推,這時候的狀態方程為 dp i j dp i 1 j 1 dp i 1 j 按...
動態規劃 problem f
題意 要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?可以直接用遞迴計算,將數塔看成一棵樹,用陣列實現,分別遞迴的求出每棵子樹的最大值 再進行比較,取其中每步的最大值,由底至上,逐層比較,最後的出最大和。include define size 100 int val...