因此,我尝试将来自libcURL HTTP请求的响应存储到一个C字符串中,以便稍后解析。响应代码完全是用C编写的,而其他代码都是用C++编写的,对于任何其他C++编译器来说,它应该都能正常工作。但是当我尝试编译时,即使我给出'-x c‘参数后跟文件名,我也会得到这些特定的响应。
g++ main.cpp -x c cJSON.c -x c respbuffer.c -lcurl -lm
./respbuffer.c:14:9: error: assigning to 'char *' from incompatible type 'void *'
假设X是输入语言,Z是输出语言,f是编译器,用Y语言编写。
f = X -> Z
因为f只是一个程序,我认为Y可以是任何语言,对吗?所以我们可以有编译器f1,f2,每个编译器都是用Y1和Y2编写的。
f1 = f Y1
f2 = f Y2
g = Z -> M
h = g . f # We get a compiler X -> M
以cpython编译器为例,X是Python,Z是Python代码,Y是C。
cpython = Python -> PythonVMCode C
interpreter = PythonVMCode -> Nothi