0
我有應用程序,讀取大的std ::地圖,是某些腳本生成 其大小400 - 600元件
現在這個STD地圖被生成由腳本 有些事情是這樣的:C++如何包括源代碼生成映射到應用預編譯階段
expressionsMap.insert(std::pair<int, std::string>(1,"string1"));
expressionsMap.insert(std::pair<int, std::string>(2,"string1"));
expressionsMap.insert(std::pair<int, std::string>(3,"string1"));
expressionsMap.insert(std::pair<int, std::string>(4,"string1"));
...
...
...
...
expressionsMap.insert(std::pair<int, std::string>(5,"string400"));
的expressionsMap映射在我的應用程序頭文件中定義
typedef std::map<int,std::string> ExpressionsMap;
class LevelsManager
{
private:
ExpressionsMap expressionsMap;
}
現在在源文件中我想包括屬ted文件(手動) ,因此映射的定義將成爲C++源文件的一部分。
在列表中,編譯器將會像這樣看到它。
IM尋找跨平臺的解決方案
我需要包括什麼?只是簡單的* .h「文件? 與表達式裏面? – user63898
你只需要包含生成的文件。因此如果生成的包含所有插入語句的文件被稱爲」generated_inserts.h「,那麼你的函數就有一個include語句,如#include 「generated_inserts.h」 –
請注意,如果將表達式映射更改爲指針,則需要將生成的代碼從使用中更改爲 - > –