コンパイル、リンク、ロード


Origin C関数にアクセスする前に、コードビルダでコンパイルしてリンク(ビルド)する必要があります。

エラー無く関数をコンパイルリンクしたら、自動的にロードされ、現在のOriginセッションでアクセスできます。以降のOriginセッションで関数にアクセスするには、再ロードし、リンクする必要があります。この処理は素早く、自動化することができます。

この章では、Origin Cのソースファイルとプリプロセスファイルを手動または自動でビルドする方法について説明します。

コンパイルとリンク

Origin Cのソースファイルまたはプリプロセスファイルで定義した関数を作成するため、以下のステップを行う必要があります。

  • コードビルダワークスペースにファイルを追加
  • ファイルをコンパイル
  • すべての関連ファイルをリンクし、必要に応じて関連ファイルもコンパイルして、作成したオブジェクトファイルをロード

すべてのファイルをコンパイルし、リンクする処理はビルドとして扱われます。

ワークスペースにファイルを追加

ソースファイルまたはプリプロセスファイルをコンパイルリンクする前に、ファイルは、コードビルダワークスペースフォルダであるProject, User, System, Temporaryの内の1つに追加する必要があります。 すべてのソースファイルは、最初に作成されるか、Userフォルダにロードされます。

ファイルをコンパイルする

ファイルをワークスペースに追加した後、 (コンパイルボタンCompile button.pngをクリックして)コンパイルし、オブジェクトファイルを生成する必要があります。オブジェクトファイルは、ソースファイルまたはプリプロセスファイルと同じ名前で、OCB という拡張子を持ちます。Origin8.1以降、オブジェクトファイルは、アプリケーションデータフォルダに保存されます。古いバージョンでは、ファイルは User Files\OCTemp フォルダに保存されます。

ワークスペースをビルドする

アクティブなファイルとすべての関連ファイルをビルドするには、ビルド Build Button.pngボタンを選択するか、すべてをリビルド Rebuild All button.pngボタンを選択し、ワークスペース内のすべてのファイルをビルドします。作成したオブジェクトファイルは、自動的にメモリにロードされ、リンクされ、ファイルに定義した関数はOriginの中で実行可能になります。

オブジェクトファイルが生成されると、その後のビルド処理がより高速になります。ソースファイルとプリプロセスファイルに変更が無ければ、コードビルダはオブジェクトファイルを直接ロードし、リンクしますが、ファイルをリビルドしません。

ビルドとすべてをビルドの違い

ビルド:与えられたフォルダがコードビルダでアクティブフォルダで、ビルドツールバーボタン Button Build.pngがクリックされると、そのフォルダ内のすべてのファイルがコンパイルリンクされます。

すべてをビルド:コードビルダのすべてをリビルドボタンButton Rebuild All.pngがクリックされると、コードビルダのすべて のフォルダ内のファイルがコンパイルリンクされます。

ビルドの自動化

最初に、すべてのOrigin CソースファイルまたはプリプロセスファイルがUserフォルダ内で作成され、開かれます。そして、上記のようにOrigin Cソースファイルを手動でビルドします。 しかし、ビルド処理を自動化するとメリットがあります。これは、コードビルダのフォルダ構造を使用することで行なったり、機能的に少しの違いがあったり、起動時のビルドオプションを利用して、行うことができます。

Projectフォルダにファイルを追加する

コードビルダのProjectフォルダにファイルを追加すると、関連のOriginプロジェクトが開いたときに、自動的にビルドされます。

次の方法で、Projectフォルダにファイルを追加できます。

  • Projectフォルダを右クリックして、ファイルの追加を選びます。
  • 別のワークスペースフォルダからファイルをドラッグし、Projectフォルダにドロップします。

[AutoLoad]フォルダにファイルを追加する

以前は、コードビルダのSystemフォルダを右クリックしてファイルを追加できました。Origin 2015以降、このフォルダにユーザーファイルを追加することはできません。Originの起動時に自動的にファイルをコンパイルリンクさせるには、これらのファイルをUser [Autoload] fフォルダに追加する必要があります。

User [AutoLoad]フォルダにファイルを追加するには次のようにします。

  • User [AutoLoad] フォルダを右クリックして、ファイルの追加を選択します。
  • 他のワークスペースフォルダからファイルをドラッグして、 User [AutoLoad]フォルダにドロップします。
  • run.LoadOC()オブジェクトを使用します。


Note: User [AutoLoad]フォルダにファイルを追加すると、[OriginCAuto]というセクションがUser Files フォルダのOrigin.iniファイルに追加されます。User [AutoLoad]からファイルを同時に削除し、Origin.iniから追加された[OriginCAuto]を削除するには、次の LabTalkコマンドを実行します。
run -cra // システムフォルダファイルには影響しません

Origin起動時にワークスペースをビルド

起動時にビルドオプションは、Origin起動時に直前に開いたコードビルダワークスペースをビルドします。

Originが起動したときに、Origin CワークスペースのSystemフォルダの内容を確認し、変更が見つかったら、コンパイルリンクしようとします。 また、起動にビルドオプションを有効にして、ユーザフォルダ内のファイルにこの手順を行うことができます。

  1. コードビルダを実行します。
  2. ワークスペースが見えていない場合、表示メニューのワークスペースを選びます。
  3. Origin Cワークスペースを右クリックします。
  4. 起動にビルドの項目がチェックされていない場合、クリックします。

次回Originを起動すると、Userフォルダ内のファイルがチェックされ、変更があったファイルをコンパイルリンクします。

Origin起動時にソースファイルをビルド

次の操作方法で、起動時にOrigin Cソースファイルをロードし、コンパイルするために Origin.ini ファイルを編集します。

  1. Originが開いていたら閉じます。Origin.ini ファイルを開きます。このファイルはユーザファイルフォルダにあります。コマンドウィンドウで %Y= を実行すると、ユーザファイルフォルダの場所を確認できます。
  2. [Config] セクションで、OgsN = OEvents の行のセミコロン(;)をとり、コメントとして扱うのをやめます。Nは、使用されている数字でなければ、何でも構いません。変更後、保存してファイルを閉じます。
  3. Originのインストールフォルダにある、OEvents.ogs を開きます。[AfterCompileSystem] セクションに以下の行を追加します。
    run.LoadOC(Originlab\AscImpOptions, 16);
    OEvents.ogsをユーザーファイルフォルダ(編集したOrigin.iniファイルと同じ場所)に保存し、エディタを閉じます。
  4. Originを再度起動し、コードビルダを開きます。Temporaryフォルダに3つのファイルがあります。AscImpOptions は、fu_utils.c と Import_utils.c に依存するので、コンパイラはこれら2つのファイルを一緒にAscImpをコンパイルします。詳細はLabTalkヘルプで、 run.LoadOCを検索して確認してください。


または、ワークスペースのUser [AutoLoad]フォルダを使用してください。フォルダに追加されたファイルは、Originの起動時に自動的にロードされます(上記参照)。

スクリプトでビルドする

LabTalkスクリプトでOrigin Cを呼び出したい場合、ソースファイルのコンパイルとリンクが完了していることを確認する必要があります。その後、LabTalkコマンド Run.LoadOC を使用して、特定のソースファイルをコンパイルし、リンクします。例えば

  1. コードビルダで、ファイル: 新規ワークスペースを選択して新しいワークスペースを作成します。 ここでは、Temporary フォルダは空です。
  2. コマンドウィンドウで、次のスクリプトを実行します。すると dragNdrop.c ファイルとその関連ファイルすべてがTemporaryフォルダにロードされ、コンパイルされます。
    if(run.LoadOC(OriginLab\dragNdrop.c, 16) != 0)
    {
            type "Failed to load dragNdrop.c!";
            return 0;
    }

エラーを識別する

コードビルダでソースファイルをコンパイルリンクするとき、コンパイルおよびリンクの結果はコードビルダの出力ウィンドウに表示されます。

コンパイルリンクが問題なく行われた場合、出力ウィンドウにはソースファイルがコンパイルされたことが表示されます。 完了! と表示され、問題がなかったことが分かります。

コンパイルリンク中にエラーが発生したら、出力ウィンドウには、ファイル名、行番号、エラーが発生したことが表示されます。 出力ウィンドウ内のエラー行をダブルクリックすると、ソースファイルをアクティブにし、エラーを含むコード行にカーソルを移動します。

Compiling originc.png