Dmitry Telenkov 9 months ago
parent
commit
b291f88a86
3 changed files with 62 additions and 60 deletions
  1. 17 60
      .obsidian/workspace.json
  2. 35 0
      c/c common.md
  3. 10 0
      linux/bash.md

+ 17 - 60
.obsidian/workspace.json

@@ -1,19 +1,19 @@
 {
   "main": {
-    "id": "b266890f0c3ff372",
+    "id": "a01b3811920669eb",
     "type": "split",
     "children": [
       {
-        "id": "ad99a7ddff93a15c",
+        "id": "fd96e788edf57411",
         "type": "tabs",
         "children": [
           {
-            "id": "4f8b822ecf1ab6df",
+            "id": "4b307134b450d3bf",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "TODO.md",
+                "file": "proGit.md",
                 "mode": "source",
                 "source": false
               }
@@ -25,15 +25,15 @@
     "direction": "vertical"
   },
   "left": {
-    "id": "38e075dd31ff8adb",
+    "id": "d6ad346f6c69c25f",
     "type": "split",
     "children": [
       {
-        "id": "aa544a1476f258b3",
+        "id": "9122c72c68b4853c",
         "type": "tabs",
         "children": [
           {
-            "id": "8ba77c810766b520",
+            "id": "fd350626e6fd4d03",
             "type": "leaf",
             "state": {
               "type": "file-explorer",
@@ -43,7 +43,7 @@
             }
           },
           {
-            "id": "b71a6ef4ea258338",
+            "id": "35a75d07636b6662",
             "type": "leaf",
             "state": {
               "type": "search",
@@ -58,7 +58,7 @@
             }
           },
           {
-            "id": "0a44d6178b5d79a8",
+            "id": "df97e07ab3ade02b",
             "type": "leaf",
             "state": {
               "type": "bookmarks",
@@ -69,23 +69,23 @@
       }
     ],
     "direction": "horizontal",
-    "width": 275.5
+    "width": 300
   },
   "right": {
-    "id": "22baf11b84f2becb",
+    "id": "52d42b97aa804faf",
     "type": "split",
     "children": [
       {
-        "id": "3ebf2f88c333ddfb",
+        "id": "14971c56f716bc26",
         "type": "tabs",
         "children": [
           {
-            "id": "016cd6639f5f7c6e",
+            "id": "c1b456912a80dadb",
             "type": "leaf",
             "state": {
               "type": "backlink",
               "state": {
-                "file": "TODO.md",
+                "file": "proGit.md",
                 "collapseAll": false,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -97,7 +97,7 @@
             }
           },
           {
-            "id": "a1fda84e12066836",
+            "id": "7628d93601b6999c",
             "type": "leaf",
             "state": {
               "type": "all-properties",
@@ -124,49 +124,6 @@
       "markdown-importer:Open format converter": false
     }
   },
-  "active": "4f8b822ecf1ab6df",
-  "lastOpenFiles": [
-    "Тренировки и занятия.md",
-    "linux/vim.md",
-    "linux/Tmux.md",
-    "linux/server.md",
-    "keys/minecraft.key",
-    "linux/bash.md",
-    "TODO.md",
-    "ROTEK/universal IO/universal IO.md",
-    "Счета.md",
-    "linux/alacritty.md",
-    "hardcore web development/4. Linux.md",
-    "proGit.md",
-    "FlyElectronics/LT8920.md",
-    "ROTEK/RT-701/common.md",
-    "Database.kdbx.SnMcza",
-    "hardcore web development/5-6-7 Internet.md",
-    "hardcore web development/9. Сессии, cookies, безопасность.md",
-    "linux/linux common.md",
-    "STM32/build.md",
-    "STM32/IRQ + FreeRTOS.md",
-    "ROTEK/metrolog/readme.md",
-    "ROTEK/metrolog/M3 artery + stm32.md",
-    "ROTEK/metrolog/Текучка Метролог.md",
-    "ROTEK/bt67xx/common.md",
-    "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",
-    "img/Pasted image 20240518111756.png",
-    "img/Pasted image 20240424185826.png",
-    "img/Pasted image 20240415124521.png",
-    "img/Pasted image 20240415124210.png",
-    "img/Pasted image 20240415123611.png",
-    "img/Pasted image 20240415122028.png",
-    "img/sch04.JPG"
-  ]
+  "active": "4b307134b450d3bf",
+  "lastOpenFiles": []
 }

+ 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` - очистка экрана