goでCコードを呼び出して遊んでいます。ただし、goから使用しようとするとprintf
、フォーマット文字列が文字列リテラルではないという警告が表示されます。
package main
// #include <stdio.h>
import "C"
func main() {
C.printf(C.CString("Hello world\n"));
}
警告:
警告: フォーマット文字列は文字列リテラルではありません (安全でない可能性があります) [-Wformat-security]
文字列リテラルを次のようなC関数に渡すにはどうすればよいprintf
ですか? 私が使用できるのと同様の機能はありC.CString()
ますか、それとも不可能であり、この警告を無視する必要がありますか?