所以我的教授给了我们一些代码,他说它应该能够编译,但我得到各种错误,不知道什么是错的,因为我对c没有任何经验.它是一个汇编语言类,我们应该编写汇编代码来匹配c代码正在做的事情.他告诉我们在c中运行程序以了解事物.
#include <stdio.h>
#define SIZE 40
main()
{
int v[SIZE];
register int gap, i, j, temp;
/* Initialize array to random positive integers mod 256 */
for (i = 0; i < SIZE; i++)
v[i] = rand() & 0xFF;
/* Display the unsorted array */
for (i = 0; i < SIZE; i++)
printf(“v[%-d] = %-d\n”, i, v[i]);
/* Sort the array using a shell sort */
for (gap = SIZE / 2; gap > 0; gap /= 2) { …Run Code Online (Sandbox Code Playgroud) 我发现几乎语言都是自己编写的,有时只是为了证明它可以完成.那么是用php编写的php解释器/编译器吗?我搜索谷歌但没有找到任何东西.
在使用g ++编译C/C++代码时,我对编译阶段有一个非常基本的了解,但我想要确认,澄清和额外的智慧珍珠.
对于这组文件:
main.c
foo.h
foo.c
bar.h
bar.c
Run Code Online (Sandbox Code Playgroud)
这些电话执行以下操作......
g++ -c foo.c
g++ -c bar.c
g++ -c main.c
Run Code Online (Sandbox Code Playgroud)
头文件现在添加到源文件中,所有这些.c文件都编译成.o文件.
g++ -o main.out main.o foo.o bar.o
Run Code Online (Sandbox Code Playgroud)
现在所有.o文件都链接在一起成为一个可执行文件 - main.out.
每当我编译一个基本程序,即使是一个简单的"Hello,world!",程序在尝试关闭时也会无响应.我甚至无法通过任务管理器结束这个过程.关闭程序的唯一解决方案是重新启动计算机.
我正在运行Windows 7 Ultimate 64bit,我使用Visual C++,Gygwin GCC和GNU GCC与CodeBlocks和Eclipse.
#include <iostream>
int main()
{
using namespace std;
cout << "Hello, world!";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的时间!
我有一个包含枚举的C头文件
typedef enum {leaf, operator} my_type;
Run Code Online (Sandbox Code Playgroud)
现在当我尝试在我的C++程序中包含此标题时,我得到错误"'运算符'之前的预期标识符"
我怎么能摆脱它.
我想知道为什么我的编译器在测试以下代码时会抱怨:
int main(int argc, char**) {
...
std::future<int> result( std::async([](int m, int n) { return m + n;} , 2, 4));
...
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它给出:错误:'future'不是'std'的成员
我有gcc(Ubuntu/Linaro 4.7.3-2ubuntu1~12.04)4.7.3.
谢谢!
如何以下列格式从文本文件中获取数据:
abc 5
defg 8
ghi 58
jklmn 450
opqrstuv 8456
Run Code Online (Sandbox Code Playgroud)
并将其添加到字典中.例如:第一个是字典['abc'] = 5,最后一个是字典['opqrstuv'] = 8456,依此类推.我需要添加所有数据(文本文件中的每一行)
程序集是一种人类可读的语言,但它通常与相应的机器代码具有一对一的关系.因此,据说汇编程序执行同构(一对一映射)转换.
我需要知道汇编程序中一对一映射转换的含义.
这是鸡和蛋的问题.为语言X引导编译器的一个解决方案是使用语言Y,但是如何首先编译语言Y的编译器?!如果你一直跟踪到没有编译器存在的时间,那么第一个编译器如何能够自己编译?请使用高级隐喻来帮助理解.
我正在尝试创建一种动态类型检查编译语言,现在我对此有点困惑:
- 编译语言总是有静态类型检查
- 任何编译器的阶段必须具有相同的顺序 -
例如,符号表必须在词法分析阶段创建,并且必须与每个阶段连接,如下图所示。
上述条款是否属实?
真正的问题是什么时候(哪个阶段)必须为这种语言创建符号表?
compiler-construction typechecking symbol-table compile-time-type-checking
c++ ×4
c ×2
g++ ×2
assembly ×1
c++11 ×1
compilation ×1
dictionary ×1
file ×1
gcc ×1
interpreter ×1
php ×1
python ×1
symbol-table ×1
text ×1
typechecking ×1
visual-c++ ×1