簡體   English   中英

為AVR編譯c ++ 0x

[英]Compiling c++0x for AVR

我目前正在為AVR平台編寫一些c ++代碼,並且想要禁用一些根本不可復制的內容。 鑒於我已經在使用c ++ 0x功能,我認為一種好的方法是使用=delete說明符:

write_only(write_only const&) = delete;

但是,當我嘗試對此進行編譯時,出現以下錯誤:

error: invalid pure specifier (only `= 0' is allowed) before ';' token

這向我表明,avr-gcc不支持此特定的c ++ 0x語言功能。 這是我做錯了嗎? 如果不是,最好的解決方法是什么?

我正在使用WinAVR-20100110進行編譯。

WinAVR已過時,請改用Atmel Studio

如果您真的想繼續使用WinAVR,請找到gccg++可執行文件並使用-v命令行參數運行它,然后告訴我們它報告的版本。 請注意,自4.4版( 鏈接 )以來,GCC支持刪除功能。

無論如何,在編譯使用C ++ 11功能時,還必須添加-std=gnu++0x-std=c++11-std=gnu++11參數,或者-std=c++1y-std=gnu++1y以啟用C ++ 14(C ++ 1y)功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM