問題タブ [guideline-support-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - GSL-Lite がインクルードしようとしている理由?
埋め込まれた STM32 Keil プロジェクト内で gsl を使用しようとしています。私の Keil プロジェクトでは、せいぜい時代遅れのセミ C++11 コンパイラしか使用していません。(これは、LoRaWAN 用の ST ライブラリによって私に課せられた制約です)。keil にバンドルされている V5.06 update 6 (ビルド 750) ARM コンパイラを使用しています。Keil はstd::aray
、STL の を実装しないことを選択しました。私はこれについて非常に失望していますが、私にできることはありますか.
gsl-Liteを使用することにしました。互換性C++98
があるはずです。C++03
必要ありませんstd::array
が、インクルード パスに含まれるライブラリを使用してコードをコンパイルしようとすると、次のビルド メッセージが表示されます。
..\Core\inc\gsl/gsl-lite.hpp(405): エラー: #5: ソース入力ファイル "array" を開けません: そのようなファイルまたはディレクトリはありません
# include <array>
しかし、404 行目は次のコードで始まります。
<array>
含めることができるかどうかを判断しようとしているようです。私のエディタは、このブロックが定義されていないかのようにグレー表示します。
gsl_HAVE
と定義されている:
ARRAY
これがどのように機能し、適切に定義されていないかどうかを確認する方法がわかりません。
<array>
私のコードが gsl-lite をビルドして使用できるように、含めたくありません。私の好みのオプションは、定義のあるものです。
アップデート
インクルードシステムを理解している限り:
gsl_HAVE_ARRAY
次の場合に機能 (この場合)を自動的に除外するように定義されています。
true と評価されます。gsl_CPLUSPLUS
と定義されている
しかし、私は の値を理解できないようです__cplusplus
。
c++ - C++ でスパンを返すことはできますか? もしそうなら、どのように?(代替案を受け入れます。)
私が与えられた割り当てのプロジェクト ガイドでは、ベクトルと文字列の使用が明確に禁止されていますが、関数から不定サイズの char 配列を渡す必要があります。スパンの使用方法をよりよく理解できれば、この目的のためにスパンの使用が実行可能であるように思われます。誰かが配列を渡すためのより良い/異なる手段を推奨できる場合(文字列とベクトルは別として)、私はそれについて学びたいです.
スクラッチ ファイルを生成し、そこに入力テキストを保存してプログラムの別の場所で呼び出すことを検討しましたが、この場合は必要以上に面倒です。このプログラムは、メインですべてを実行できるほど小さくなりますが、それも必要ではありません。
私がやりたいことは、次のような関数を呼び出すことができるようにすることです:
次に、main から spanOut の内容を出力します。
理想的には、上記のコードの結果がABC
端末に出力されることです。
c++ - ナローキャストは何をしますか?
narrow_cast
このように使用されるコードを見ました
問題は私のコンパイラが言ったことです:
私は自分自身を定義することになっていますnarrow_cast
か、それとも間違った方法で使用していnarrow_cast
ますか?
c++ - gsl::fail_fast が名前空間に見つかりません
この C++ コントラクトの単純な使用法では、error: no type named 'fail_fast' in namespace 'gsl'
. try ブロックはfast_fail
例外またはその他の例外をスローしますか?