# Regulart Meeting (2020.3.15)
* Native compile sw (my PC), remote execute (SDCard on XVC_Pynq_Z2)

## 2. The Compiler arm-gcc
* Compiler for armV7 in native host

* [The Linaro-GCC](https://en.wikipedia.org/wiki/Linaro)
* Supported verison of compiler (in arm-v7)
* C11
* Newest version is c17/18
* c17/18 has not new feture
* c17/18 only fix bug for c11
* C++17
* Newest version is C++20
* Some new feture
* About arm-gcc
* arm-linux-gnueabihf-gcc-linaro (ok)
* arm-none-gnueabihf-gcc-linaro (x)
* arm-linux-gnueabi-gcc-linaro (x)
* arm-none-gnueabi-gcc-linaro (x)
* why?????????????
* gnueabi**hf**, what's hf?
* 
* **arm-none-...** vs **arm-linux-...**
* Try following 2 programs
* compile with **arm-none-…**
```C
/* prog.1 */
#include <stdio.h>
int main () {
printf("Hello Kitty");
}
```
```C
/* prog.2 */
#include <unistd.h>
int main () {
/* open() is a system call is supported by unix (linux) */
open(...);
}
```
* `prog.1` passed compile.
* Compiler raise error when you compile `prog.2`:
```
can't find header unistd.h
```
* Reason:
* `unistd.h` is header for **UNIX(Linux) Standard**
* Depending on *how OS to implement*
* `stdio.h` is header for **C Standard**
* Compile with **arm-linux-...** can pass both prog.1 and prog.2
###### tags: `Regular Meeting` `DeWei`