Skip to content

Commit dc023c7

Browse files
authored
minor change on format
1 parent f25764b commit dc023c7

File tree

3 files changed

+77
-10
lines changed

3 files changed

+77
-10
lines changed

docs/Qt/00.overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ int main(int argc, char *argv[])
111111
避免了修改GUI导致的链式重新编译问题。
112112

113113
综合来说,这样的好处有:
114+
114115
1. 最小化编译依赖项 - 减少编译时间
115116
2. 接口与实现的分离
116117
3. 可移植性 - 二进制兼容性
@@ -137,6 +138,9 @@ int main(int argc, char *argv[])
137138
4. [QSkinny](https://github.com/uwerat/qskinny)
138139
5. [花里胡哨控件集合 Qt-ShowyWidgets](https://github.com/iwxyi/Qt-ShowyWidgets)
139140
6. [付费QFluentWidgets](https://qfluentwidgets.com/zh/pages/about)
141+
7. [ElaWidgetTools](https://github.com/Liniyous/ElaWidgetTools)
142+
8. [zhuzichu520 FluentUI](https://github.com/zhuzichu520/FluentUI)
143+
9. [zhuzichu520 FluentUI Pro](https://github.com/zhuzichu520/FluentUI2)
140144

141145
## 我的Qt项目
142146

docs/c-cpp/cross-compile.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,15 @@ binutils里面包含了链接器相关的功能套件。
8181

8282
[newlib][5]是RedHat公司的开源C标准库,不适用所有的平台,但是对于POSIX系统和嵌入式系统足够了。
8383

84-
## reference
85-
86-
[OSDev Wiki - GCC Cross-Compiler][1]
87-
[--build --target --host][2]
88-
[Canadian Cross][3]
89-
[Investigating the effects of GCC's --without-headers and --with-newlib configuration flags][4]
90-
[Why is the Canadian Cross used for cross-compilation in Linux From Scratch-1][6]
91-
[Why is the Canadian Cross used for cross-compilation in Linux From Scratch-2][7]
92-
[Freestanding C与交叉编译器的生成原理分析][8]
84+
## Reference
85+
86+
1. [OSDev Wiki - GCC Cross-Compiler][1]
87+
2. [--build --target --host][2]
88+
3. [Canadian Cross][3]
89+
4. [Investigating the effects of GCC's --without-headers and --with-newlib configuration flags][4]
90+
5. [Why is the Canadian Cross used for cross-compilation in Linux From Scratch-1][6]
91+
6. [Why is the Canadian Cross used for cross-compilation in Linux From Scratch-2][7]
92+
7. [Freestanding C与交叉编译器的生成原理分析][8]
9393

9494
----------------------
9595

docs/c-cpp/overview.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,64 @@
1-
# Overview
1+
# Overview
2+
3+
## Bjarne Talks about the C++ language
4+
5+
### How to learn C++, what is the best strategy to learn C++
6+
7+
I think first you need an overview of the language.<br>
8+
A lot of students dig in and want to know everything about some little detail.
9+
But the point is , they can't understand it until they have a broader view of the language.
10+
11+
12+
As people go in and they see, oh, pointers.<br>
13+
Great, I want to know everything about pointers, and why would you want to do that?
14+
15+
16+
They should be work together with classes and other data types, and how do you do a traversal or a container and such.
17+
18+
19+
You shouldn't obsess about one little thing, or they go in and they say, well, there're 32 different basic arithmetic types. It's probably right. I can't remember.
20+
21+
22+
I mean, that's just the sew of little type or rules for conversion.
23+
Most of the time, I don't use all of those types, and most of the time, I don't have to think about those things.
24+
25+
26+
So instead of digging into the little details, pointers, how to do a class, hierarchy, things like that, get an overview.
27+
28+
### What should students focus on when learning C++?
29+
I think first of all they should try and look at C++ as a modern language.
30+
31+
Far too many have learned C++ as if it was just C or as if it was still 1985, and that pains me a lot because it's much better these days.
32+
33+
You look at it and you see how to use the abstraction mechanisms, you use the libraries.
34+
35+
They are the standard library which is fundamental data structures, few algorithms, timing, regular expressions, that kind of stuff.
36+
37+
Then there are specific libraries for specific areas, the database interfaces, you have specific graphic libraries, animations libraries, and such.
38+
39+
40+
So I think when you start programming, you stick to the fundamentals for a while, because well , the fundamentals are the fundamentals.
41+
42+
43+
You have to know your algorithms, you have to know your data structures, you have to know a little bit of machine architecture if you want to write at that level.
44+
45+
46+
Then you're going to actually do something. If you're writing video game, you have to know what game's engine and the libraries that go in there.
47+
48+
49+
So you go through the fundamentals and then something specific to your interest.
50+
51+
## 编译型语言vs解释型语言
52+
53+
**编译型语言**会在编译阶段将错误或者潜在的风险提示出来;<br>
54+
相反动态类型语言可能会在运行时期报错,但是这时候用户是无法处理这些问题的,因为他们很可能不是开发人员。<br>
55+
编译器是开发人员的好帮手,可以生成代码,转换代码,也可以发现风险。<br>
56+
编译型语言的优势也是劣势,相比动态类型语言,我们需要先通过编译器生成目标平台上的可执行文件,再将该文件发布给用户;因此,为了支持多种平台,我们还需要针对每个平台编译生成对应的目标文件,再将其提供给用户。甚至还需要为了目标平台而去构建**交叉编译工具链**。<br>
57+
还有一个优势,编译型的语言生成的是最终可执行的目标文件,因此**运行效率高**
58+
59+
**动态类型语言**(比如python,JavaScript等)拥有很好的跨平台特性以及容易上手等特点。<br>
60+
因此,在web开发、系统管理等方面非常适合使用这一类型的语言,当下他们也获得了蓬勃的发展。<br>
61+
还有一种场景适合动态类型语言,当目标场景是交互式的时候,此时效率不是那么重要。比如AI和数据科学实验时,使用Jupyter Notebook进行即时开发,用户无需频繁地等待编译器处理&执行修改后的代码这个繁琐的流程。<br>
62+
动态类型的语言往往**运行效率比较低**,因为大多数是解释型语言,在运行时依赖解释器逐行将代码转换成目标系统的指令来运行。
63+
64+
---

0 commit comments

Comments
 (0)