<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### Go 包 本小節將向你提供將在 C 程序中使用的 Go package 的代碼。 Go package 的名稱必須是`main`,但其文件名可以是你想要的任何名稱;在這我們將文件命名為為`useByC.go`,并分為三部分。 > Tip: 你將在*第 6 章-你可能不了解 Go package 和 Go 函數*中了解有關 Go package 的更多信息。 第一部分代碼: ```Go package main import "C" import ( "fmt" ) ``` 正如我之前所說,必須將 Go 包命名為`main`。你還需要在 Go 代碼中導入 C 包。 第二部分代碼: ```Go //export PrintMessage func PrintMessage() { fmt.Println("A Go function!") } ``` 必須將 C 代碼準備調用的 Go 函數導出。這意味著你應在導出之前放置一個以`// export`開頭的注釋行。在`// export`的后面你將需要輸入函數的名稱,因為這是 C 代碼將使用的名稱。 最后一部分代碼: ```Go //export Multiply func Multiply(a, b int) int { return a * b } func main() { } ``` `usedByC.go`的`main()`函數不需要代碼,因為它不會被導出,因此不會被 C 程序使用。此外,由于還希望導出`Multiply()`函數,因此需要寫上`// export Multiply`。 之后,你需要通過執行以下命令從 Go 代碼生成 C 共享庫: ```shell $ go build -o usedByC.o -buildmode=c-shared usedByC.go ``` 前面的命令將生成兩個名為`usedByC.h`和`usedByC.o`的文件: ```shell $ ls -l usedByC.* -rw-r--r--@ 1 mtsouk staff 204 Jan 10 09:17 usedByC.go -rw-r--r-- 1 mtsouk staff 1365 Jan 22 22:14 usedByC.h -rw-r--r-- 1 mtsouk staff 2329472 Jan 22 22:14 usedByC.o $ file usedByC.o usedByC.o: Mach-O 64-bit dynamically linked shared library x86_64 ``` 你不應對 usedByC.h 進行任何更改。
                  <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>

                              哎呀哎呀视频在线观看