要死嘞要死嘞——
fprintf 函数
其实 printf 便是 fprintf(stdout, “output”); 的简写,将字符串投向标准输出。
C 语言把所有的设备都当作文件。所以设备(比如显示器)被处理的方式与文件相同。以下三个文件会在程序执行时自动打开,以便访问键盘和屏幕。
标准文件 | 文件指针 | 设备 |
---|---|---|
标准输入 | stdin | 键盘 |
标准输出 | stdout | 屏幕 |
标准错误 | stderr | 您的屏幕 |
因为十分智障的错误被坑……我觉得 xilinx 的自带 editor 和那啥没什么大区别,atom 似乎不能用,所以用 vscode 好了
首先在插件里面安装 Verilog-HDL/SystemVerilog/Bluespec SystemVerilog,然后就可以实现高亮,但是要进一步配置还需要别的
安装 verilator
sudo apt-get install verilator
在扩展设置里面使用 verilator
Not really understand, maybe in the swapping. When process in main memory idle or main memory is full, swap to the waiting.
No, is the heap and stack in PCB, but it has it own pid. Virtual id, logical id, the pointer in c has this memory. Actual id is physical id.
还是太乱了啊……所以就直接以 lab 命名吧,反正涉及很多小项的。
ex3,传入一个数组到 func
pointer 和 array 的关系在 c 程序设计的 5.3 中涉及到了,由于数组的定义其实本质上是指向整个数组连续存储的第一个,然后可以通过指针访问,eg:
1 | int a[10]; // declare an array length 10 |
我的排序果然一团糟……使用 insert sort 的话代码如下
一直困扰我的……指针的语法其实不是很重要,以下三种都可以
1 | int* a; |
不过第三种是 the c programming language 里的,应该还是用这种吧。规范很重要对吧!
传值(pass by value)vs 引用(pass by reference),记住英语
以下这个来解释不错,有时间我写上
gcc -o <更改名称> 源文件
如果不加 -o 也可以执行,但是输出文件将会是 a.out,所以可以改名字,所以作用名的后缀其实无所谓啦(摊爪
这个在源文件的前面或者后面都可以
gcc 源文件 -lm // 连接 math 库
-l 之后紧跟库的名称,math 就是 m,不能加空格,也一定要在源文件后面。
1 | target_link_libraries(<文件名称> m) |
m 是 math 的缩写,似乎是因为 math 算是 seperate lib 所以要这么连接?并不知道具体 cmake 是怎么操作的, add executable 也是,未解之谜了属于是(
挖坑!一定填上!
这个方法似乎不适用于用 single execution 搞定的……我得更深研究 cmake 才行,现在先那啥,用 gcc 吧。
好像我上次不去搞 clion 就是因为它没法执行单个文件?在 plugin 里面搜索并添加 Single File Execution,在 single file 那里右键,最下面一个 add to path,记得 reload 一下 cmake,然后就可以啦~