<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 編程技巧,第 1 部分 > 原文:<https://github.com/angrave/SystemProgramming/wiki/Programming-Tricks%2C-Part-1> ## 使用`cat`作為 IDE 誰需要編輯? IDE?我們可以使用`cat`!您已經看到`cat`用于讀取文件的內容,但它也可用于讀取標準輸入并將其發送回標準輸出。 ``` $ cat HELLO HELLO ``` 要完成從輸入流中讀取,請按`CTRL-D`關閉輸入流 讓我們使用`cat`將標準輸入發送到文件。我們將使用'&gt;'將其輸出重定向到文件: ``` $ cat > myprog.c #include <stdio.h> int main() {printf("Hi!");return 0;} ``` (注意!不允許刪除和撤消...)完成后按`CTRL-D`。 ## 使用`perl`正則表達式編輯代碼(又名“記住你的 perl 餡餅”) 如果要更改多個文本文件(例如源代碼),則使用正則表達式是一個有用的技巧。 `perl`使得編輯文件非常容易。記住'perl pie'并在網上搜索...... 一個例子。假設我們要在當前目錄的所有.c 文件中將序列“Hi”更改為“Bye”。然后我們可以編寫一個簡單的替換模式,它將在所有文件中的每一行上執行: ``` $ perl -p -i -e 's/Hi/Bye/' *.c ``` (如果你弄錯了,不要驚慌,原始文件仍然存在;他們只有擴展名.bak)顯然你可以用正則表達式做更多的事情而不是改變 Hi 到 Bye。 ## 使用你的 shell `!!` 要重新運行最后一個命令,只需鍵入`!!`并按`return`重新運行以 g 類型`!g`開頭的最后一個命令,然后按`return` ## 使用你的 shell `&&` 厭倦了運行`make`或`gcc`然后運行程序,如果編譯正常?相反,使用&amp;&amp;將這些命令鏈接在一起 ``` $ gcc program.c && ./a.out ``` ## Make 可以做的不僅僅是制作 您也可以嘗試在 Makefile 中添加一行以進行編譯,然后運行您的程序。 ``` run : $(program) ./$(program) ``` 然后跑 ``` $ make run ``` 將確保您所做的任何更改都已編譯,并一次運行您的程序。也適合一次測試多個輸入。雖然您可能只想為此編寫常規 shell 腳本。 ## 你的鄰居太高效了嗎? C 預處理器救援! 使用 C 預處理器重新定義常用關鍵字,例如 ```c #define if while ``` Protip:將此行放入標準包含的內容之一,例如/usr/include/stdio.h ## 當 C 具有預處理器時,誰需要功能 好的,所以這更像是一個問題。使用看起來像函數的宏時要小心...... ```c #define min(a,b) a<b?a:b ``` a 和 b 的最小值的完全合理的定義。然而,預處理器只是一個簡單的文本管理器,所以優先級可以咬你: ```c int value = -min(2,3); // Should be -2? ``` 擴大到 ``` int value = -2<3 ? 2 :3; // Ooops.. result will be 2 ``` 部分修復是用`()`包裝每個參數,用()包裝整個表達式: ```c #define min(a,b) ( (a) < (b) ?(a):(b) ) ``` 不過這仍然是 _ 而不是 _ 的功能!例如,你能看出為什么`min(i++,10)`可能會增加一次或兩次!?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看