TelenkovDmitry 10 månader sedan
förälder
incheckning
92563b23ca
3 ändrade filer med 69 tillägg och 12 borttagningar
  1. 24 12
      .obsidian/workspace.json
  2. 35 0
      c/c common.md
  3. 10 0
      linux/bash.md

+ 24 - 12
.obsidian/workspace.json

@@ -13,7 +13,19 @@
             "state": {
               "type": "markdown",
               "state": {
-                "file": "linux/server.md",
+                "file": "c/c common.md",
+                "mode": "source",
+                "source": false
+              }
+            }
+          },
+          {
+            "id": "c3a482d6970dccde",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "linux/bash.md",
                 "mode": "source",
                 "source": false
               }
@@ -85,7 +97,7 @@
             "state": {
               "type": "backlink",
               "state": {
-                "file": "linux/server.md",
+                "file": "c/c common.md",
                 "collapseAll": false,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -117,20 +129,23 @@
   },
   "left-ribbon": {
     "hiddenItems": {
-      "switcher:Open quick switcher": false,
-      "graph:Open graph view": false,
-      "canvas:Create new canvas": false,
-      "command-palette:Open command palette": false,
-      "markdown-importer:Open format converter": false
+      "switcher:Меню быстрого перехода": false,
+      "graph:Граф": false,
+      "canvas:Создать новый холст": false,
+      "command-palette:Открыть палитру команд": false,
+      "markdown-importer:Импорт Markdown-файлов": false
     }
   },
   "active": "4f8b822ecf1ab6df",
   "lastOpenFiles": [
+    "linux/bash.md",
+    "c/c common.md",
+    "Кодинг.md",
+    "c",
+    "linux/server.md",
     "keys/minecraft.key",
     "linux/vim.md",
-    "linux/server.md",
     "Тренировки и занятия.md",
-    "linux/bash.md",
     "TODO.md",
     "ROTEK/universal IO/universal IO.md",
     "Счета.md",
@@ -153,15 +168,12 @@
     "FlyElectronics/Drone.md",
     "configs/alacritty.toml",
     "FlyElectronics/Grinding machine.md",
-    "Разное.md",
     "keys/dtelenkov.key",
     "keys/dtelenkov.crt",
     "STM32",
     "configs/wg0.conf",
     "keys/wg.conf",
     "keys/Новый текстовый документ.txt",
-    "keys/dmt_server.pub",
-    "keys/dmt_server",
     "img/Pasted image 20240518111756.png",
     "img/Pasted image 20240424185826.png",
     "img/Pasted image 20240415124521.png",

+ 35 - 0
c/c common.md

@@ -0,0 +1,35 @@
+<h6>Стадии компиляции</h6>
+- препроцессор
+- компилятор
+- ассемблер
+- компоновщик
+```bash
+$ cc main.c # создаст исполняемый файл main.out
+$ cc -v main.c # тоже, но с выводом информации
+$ gcc -E main.c # остановиться после препроцессора
+$ gcc -S main.c # остановиться после ассемблера на втормо этапе (main.s)
+$ gcc -c main.c # остановиться после ассемблирования перед компановкой, получится объектный модуль
+$ objdump -x main.o # вывести объектный файл в читаемом виде
+$ nm mian.o # менеджер имен
+$ gcc -o main main.c # получить исполняемый файл с именем main
+```
+Создадим файл `func.c`
+```c
+#include <stdio.h>
+
+int my_func()
+{
+	printf("My function\r\n");
+}
+```
+И в main.c добавим вызов функции `my_func()`
+```bash
+$ gcc -o main main.c func.c # соберет исполняемый файл main
+```
+Но правильно будет модули компилировать отдельно и собрать из полученных объектный файлов
+```bash
+$ gcc -c main.c
+$ gcc -c func.c
+$ gcc -o main main.o func.o
+```
+<h6>make</h6>

+ 10 - 0
linux/bash.md

@@ -8,3 +8,13 @@ $(pwd) - будет пытаться выполнить то, что вывед
 ${} - используется для подстановок
 result="${DD:= '.'}$decimal"
 ```
+<h6>Сочетания клавиш</h6>
+`ctrl + a` - перемещение курсора в начало строки
+`ctrl + e` - перемещение курсора в конец строки
+`ctrl + r` - поиск по истории
+`ctrl + w` - вырезать последнее слово
+`ctrl + u` - вырезать все до курсора
+`ctrl + k` - вырезать все после курсора
+`ctrl + y` - вернуть последнюю вырезанную строку
+`ctrl + _` - отмена
+`ctrl + l` - очистка экрана