why is it that the compiler makes that use RAM, though?
for example, if the program has many "quoted" (not variable) strings in it, do these all get stored in RAM is does it load a string into RAM when println is called
and then unloads it afterwards
but I want to be a bit sure, since I've seen examples that actually copy it from PROGMEM to a global array with a set size, which would just make things worse.
for every single string in the program?
I wonder how my program hasn't run out of memory yet, I have stings all over the place
if I try to use the F("stringHere") from the sticky in a function, I get this problem:
so what would be the most effective and easy way to get all my functions to use PROGMEM strings instead?
Quoteif I try to use the F("stringHere") from the sticky in a function, I get this problem:You need to overload your function, as the Print class has, to support the F() macro.
is F the same as PSTR? I can only find information on that function on Google.
class __FlashStringHelper;#define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal)))
#define P(str) (strcpy_P(bufferA, PSTR(str)), bufferA)