for
ステートメントはプラットフォームによって異なります。
観測:qwordは、32ビットプラットフォームでカウンタ変数として使用することはサポートされていません。
カウンタ変数として使用することがサポートされているデータ型を示すドキュメンタリサポートはありません。
は、32ビットと64ビットの両方のプラットフォームで試行:
32ビット:可変j
の
宣言は、それが正常にコンパイル取得するデータ型dword
に変更することができます。
また、オーバーフローによるエラーを防ぐために、release
モードでコンパイルする必要があります。
コンパイラ:Win32用のFree PascalのIDE i386用
ターゲットCPU:i386の
バージョン1.0.12 2017年2月13日
コンパイラのバージョン:3.0.2
環境:Win10
編集:
i386フリーパスカルで正常にコンパイルx86_64クロスコンパイラ 64ビット版Win10 (EDIT2:左側のコマンドラインで)
[Image]
推測:for
文のカウンタは、レジスタを使用して最適化される可能性があります。 i386構成では、qwordは32ビットレジスタでは大きすぎます。
64ビット: [Image]
しかし、64ビットプラットフォームで正常に動作するようです。
コンパイラ:x86_64版
のためのFree Pascalコンパイラのバージョン3.0.2 [2017年3月18日]環境は:マックOSXは10.11.6
"それを実行に失敗" とは何を意味するのでしょうか?あなたのコンピュータは見えません。 –
j:= 1の場合、jで期待される序数式は – krishnamraju