オフィスアワーがそろそろ始まるよ!()

E05系 (C-Language)

E05000

E05000 は Zen 言語からC言語のソースコードやライブラリを使用する際の操作で問題がある場合に発生します。

Zen 言語からC言語を使用する方法には次のものがあります。

  • @cImport を使用してCヘッダファイルからインポートする
  • Cソースファイルを zen translate-c を使用して Zen ソースファイルに変換する

zen translate-c を使用する際には次のコードのように ; のつけ忘れなどC言語のソースとしてコンパイルエラーとなるような場合にこのエラーが発生します。

int add(int a, int b) {
    return a + b
}

@cImport を使用する際には次のように @cInclude に存在しないCヘッダを記述した場合などにこのエラーが発生します。

const c = @cImport(@cInclude("bogus.h"));

@cImport でエラーが発生した場合は E05001 も関係してきます。詳細は E05001 の説明も参照してください。

E05001

E05001@cImport の記述に問題がある場合に発生します。

Zen 言語からC言語のライブラリを使用する際には組込み関数 @cImport を使用します。

@cImport は引数として @cInclude@cDefine@cUndef を受け取ります。 これによって #include#define#undef を追加して、Zen の構造体としてインポートします。

次のように @cImport 内の @cInclude に存在しないCヘッダを記述した場合などにこのエラーが発生します。

const c = @cImport(@cInclude("bogus.h"));

存在するCヘッダを記述しているにもかかわらずこのエラーが発生する場合は、--library オプションをつけ忘れている可能性があります。

例えば次のコードで E05001 エラーが発生する場合は --library c オプションを指定することで解決する可能性があります。

const c = @cImport(@cInclude("stdio.h"));

@cDefine@cUndef に不適切なプリプロセッサマクロ名を指定した場合にもこのエラーが発生します。

const c = @cImport(@cDefine("?", ""));

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 12

Chapter 13

Chapter 14

Chapter 15

Appendix

Error Explanation

☰ 人の生きた証は永遠に残るよう ☰
Copyright © 2018-2020 connectFree Corporation. All rights reserved. | 特定商取引法に基づく表示
Zen, the Zen three-circles logo and The Zen Programming Language are trademarks of connectFree corporation in Japan and other countries.