2017-06-10 11 views
-2

const char [] PROGMEMという2つの変数を連結して別のconst char [] PROGMEMに連結する必要があります。私は全く新しいC言語で、をprevious questionにどのように使うのか理解できませんでした。宛先が一定であり、読み取り専用ためmemcpy(又はstrcpyまたは類似)を使用してconst charとstringを別のconst charに結合する

const char data_one[] PROGMEM = {0x00,0x01,0x02}; 
const char data_combined[] PROGMEM = data_one + "{0x03,0x04,0x05}"; 
+0

このコードはコンパイルされますか?また、キーワード 'const'とその意味を理解していますか? –

+0

@EdHealそれは[大きなスクリプト](https://raw.githubusercontent.com/Wi-PWN/Wi-PWN/master/arduino/Wi-PWN/data.h)の一部としてコンパイルします – samdd

+0

いくつかのコードを入力してくださいこれを証明するには –

答えて

1

はできません。また、サンプルコードに表示されているようなものを使用することはできません。

私が考えることができる唯一の解決策は、いくらか難読化されたコードを読んで維持するのが難しく、それがプリプロセッサマクロを使用しているためです。

+1

マクロが正しく使用されても何も問題はありません –

+1

@SamVarshavchik Trueですが、この場合はマクロなしでマクロを使用する方法はありません –

+0

'#define DATA_ONE ...'と '#define DATA_TWO ...'を実行した後、それぞれ2つの場所で 'DATA_ONE'と' DATA_TWO'を使います。維持することは困難です。 –

関連する問題