C言語

「C言語」の編集履歴(バックアップ)一覧はこちら

C言語」(2013/08/19 (月) 23:08:18) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

-プロセス --メモリ解放 ---プロセスがメモリを解放するのはプロセスが終了する時。プロセスはプログラムを実行するが、プロセスの終了と同時にプログラムが必ずしも終了しない。 -ライブラリ --静的ライブラリ(libxxx.a): それぞれのプログラムが、ライブラリを個々に読み込む。実行ファイルにライブラリが組み込まれる。ライブラリを更新すると、実行ファイル自体をコンパイルしなおす必要がある。 --共有ライブラリ(libxxx.so): 複数のプログラム間でライブラリを共有する。ディスクとメモリの節約。 ---動的ライブラリ: 実行するときに読み込まれる。ライブラリを更新した時は、動的ライブラリだけを更新すれば、OK。コンパイルしなおす必要がない。 -インクルード -- -I: カスタム・インクルード・ファイルの場所を指定 -- -L: プログラミング・ライブラリの場所を指定
-プロセス --メモリ解放 ---プロセスがメモリを解放するのはプロセスが終了する時。プロセスはプログラムを実行するが、プロセスの終了と同時にプログラムが必ずしも終了しない。 -ライブラリ --静的ライブラリ(libxxx.a): それぞれのプログラムが、ライブラリを個々に読み込む。実行ファイルにライブラリが組み込まれる。ライブラリを更新すると、実行ファイル自体をコンパイルしなおす必要がある。 --共有ライブラリ(libxxx.so): 複数のプログラム間でライブラリを共有する。ディスクとメモリの節約。 ---動的ライブラリ: 実行するときに読み込まれる。ライブラリを更新した時は、動的ライブラリだけを更新すれば、OK。コンパイルしなおす必要がない。 -インクルード -- -I: カスタム・インクルード・ファイルの場所を指定 -- -L: プログラミング・ライブラリの場所を指定 #include <stdio.h> #include <string.h> int main() { FILE* f = fopen("result.txt", "r"); FILE* g = fopen("summary.txt", "w"); char line[500]; char cp_line[500]; char *pos; int index, fpos, epos, i, num; while (fgets(line, 256, f) != NULL) { // コメント部分を除去 strncpy(cp_line,line,strlen(line)+1); cp_line[strlen(cp_line)-1] = '\0'; printf("%s",cp_line); fprintf(g, "%s", cp_line); index = 0; if((pos=strstr(cp_line,"/*"))!=NULL){ fpos = strlen(cp_line) - strlen(pos); // /*の位置 if((pos=strstr(cp_line,"*/"))!=NULL){ // /* .... */ を削除 epos = strlen(cp_line) - strlen(pos); // */の位置 num = strlen(cp_line) - strlen(pos) - 2; for(i=0;i<num;i++) cp_line[fpos+i] = cp_line[epos+2+i]; cp_line[fpos] = '\0'; }else{ // /* ... を削除 cp_line[fpos] = '\0'; } } if((pos=strstr(cp_line,"//"))!=NULL){ fpos = strlen(cp_line) - strlen(pos); // /*の位置 cp_line[fpos] = '\0'; } // コメント部分を削除した後でも、プリプロセッサ命令が // 残って入ればNO、残っていなければOK if( strstr(cp_line,"defined")==NULL && strstr(cp_line,"ifdef")==NULL && strstr(cp_line,"ifndef")==NULL && strstr(cp_line,"elif")==NULL ){ printf("\tNO\n"); }else{ printf("\tNO\n"); } //fprintf(g, "%s", line); } fclose(f); fclose(g); return 0; }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。