SlideShare a Scribd company logo
1 of 18
ANSI C
Language
Introduction
Lection 8
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
β€’ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
β€’ Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
β€’ ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π°
β€’ MIN, MAX macros
β€’ SUM, MULT macros
β€’ Bit Modifications macros
23.05.2019 0:20 Introduction 2
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
3
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ОписаниС
#include вставляСт тСкст ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
#define Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΌΠ°ΠΊΡ€ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (макрос) ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ константу
#undef отмСняСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
#line прСпроцСссор измСняСт Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки ΠΈ имя
ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
#error Π²Ρ‹Π΄Π°Ρ‡Π° диагностичСского сообщСния ΠΈ остановка компиляции
#pragma дСйствиС, зависящСС ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ компилятора
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
4
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ОписаниС
#if осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ
истинности константного выраТСния
#ifdef осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ
опрСдСлённости символичСской константы
#ifndef осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ
нСопрСдСлённости символичСской константы
#else Π²Π΅Ρ‚ΠΊΠ° условной компиляции ΠΏΡ€ΠΈ лоТности выраТСния
#elif Π²Π΅Ρ‚ΠΊΠ° условной компиляции, образуСмая слияниСм else ΠΈ if
#endif ΠΊΠΎΠ½Π΅Ρ† Π²Π΅Ρ‚ΠΊΠΈ условной компиляции
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #1
5
#include "main.hβ€œ
#define BUFFER_SIZE_MAX 1024
#line 500
int main(void)
{
unsigned int i;
while (1)
{
// Insert some code here...
}
return 0;
}
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #2
6
#define LEDS_ON
#ifdef LEDS_ON
HAL_GPIO_WritePin(
GPIOD,
GPIO_PIN_15|GPIO_PIN_14,
GPIO_PIN_SET);
#else
HAL_GPIO_WritePin(
GPIOD,
GPIO_PIN_15|GPIO_PIN_14,
GPIO_PIN_RESET);
#endif
ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ макрос β€” это символьноС
имя Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…, замСняСмоС ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅
прСпроцСссором Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
символов.
Часто макросы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для выполнСния
Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… дСйствий
7
MIN, MAX macros
8
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
unsigned char a,b;
a = MIN(5, 10);
b = MAX(a, 20);
SUM macro
9
#define SUM(a, b) a + b
unsigned char a,b;
a = SUM(2, 2);
b = 3 * SUM(2, 2);
SUM modified macro
10
#define SUM(a, b) (a + b)
unsigned char a,b;
a = SUM(2, 2);
b = 3 * SUM(2, 2);
MULT macro
11
#define MULT(a, b) (a * b)
unsigned char a,b;
a = MULT(2, 2);
b = MULT(2, 2 + 3);
MULT macro modified
12
#define MULT(a, b) ((a) * (b))
unsigned char a,b;
a = MULT(2, 2);
b = MULT(2, 2 + 3);
SQR macro
13
#define SQR(x) ((x) * (x))
unsigned char a,b;
b = 4;
a = SQR(b++);
Bit Modifications macros
14
#define SET_BIT(p,n) ((p) |= (1 << (n)))
#define CLEAR_BIT(p,n) ((p) &= ~(1 << (n)))
#define TOGGLE_BIT(p,n) ((p) ^= (1 << (n)))
SET_BIT macro
15
#define SET_BIT(p,n) ((p) |= (1 << (n)))
a = 0x03;
SET_BIT(a, 7);
Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦
a |= (1 << 7)
a |= (0b10000000)
a = 0b00000011 |
0b10000000
------------
a = 0b10000011
Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚
a = 0x83
CLEAR_BIT macro
16
#define CLEAR_BIT(p,n) ((p) &= ~(1 << (n)))
a = 0xFF;
CLEAR_BIT(a, 3);
Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦
a &= ~(1 << 3)
a &= ~(0b00001000)
a &= (0b11110111)
a = 0b11111111 &
0b11110111
------------
a = 0b11110111
Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚
a = 0xF7
TOGGLE_BIT macro
17
#define TOGGLE_BIT(p,n) ((p) ^= (1 << (n)))
a = 0x55;
TOGGLE_BIT(a, 6);
Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦
a ^= (1 << 6)
a ^= 0b01000000
a = 0b01010101 ^
0b01000000
------------
a = 0b00010101
Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚
a = 0x15
REVERSE_BITS macro
18
#define REVERSE_BITS(a) 
( (((a) & 0x80) >> 7) | 
(((a) & 0x40) >> 5) | 
(((a) & 0x20) >> 3) | 
(((a) & 0x10) >> 1) | 
(((a) & 0x08) << 1) | 
(((a) & 0x04) << 3) | 
(((a) & 0x02) << 5) | 
(((a) & 0x01) << 7) )
0x 8 F -> 0x F 1
0b10001111 -> 0b11110001

More Related Content

What's hot

6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…
6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…
6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…DEVTYPE
Β 
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСнияДракон Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСнияPlatonov Sergey
Β 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаас
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаасЀункции, 11-ΠΉ клаас
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаасAlbina
Β 
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²romovpa
Β 
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°DEVTYPE
Β 
Pervoobraznaya i neopredelennyj_integral
Pervoobraznaya i neopredelennyj_integralPervoobraznaya i neopredelennyj_integral
Pervoobraznaya i neopredelennyj_integraldimonz9
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)Mikhail Kurnosov
Β 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...Iosif Itkin
Β 
6.3 БпСциализация шаблонов
6.3 БпСциализация шаблонов6.3 БпСциализация шаблонов
6.3 БпСциализация шаблоновDEVTYPE
Β 
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… функцийминимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉkuzinolga
Β 
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступаDEVTYPE
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)Mikhail Kurnosov
Β 
3.8 Класс массива
3.8 Класс массива3.8 Класс массива
3.8 Класс массиваDEVTYPE
Β 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignIosif Itkin
Β 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Clojure
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ClojureΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Clojure
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ClojureAnjLab
Β 
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMP
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMPЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMP
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMPMikhail Kurnosov
Β 

What's hot (20)

6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…
6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…
6.4 Π•Ρ‰Ρ‘ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…
Β 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Β 
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСнияДракон Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния
Π”Ρ€Π°ΠΊΠΎΠ½ Π² мСшкС: ΠΎΡ‚ LLVM ΠΊ C++ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ повСдСния
Β 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаас
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаасЀункции, 11-ΠΉ клаас
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, 11-ΠΉ клаас
Β 
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ дискрСтная оптимизация ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ² Π³Ρ€Π°Ρ„ΠΎΠ²
Β 
Step cpp022
Step cpp022Step cpp022
Step cpp022
Β 
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°
4.2 ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°
Β 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
Β 
Pervoobraznaya i neopredelennyj_integral
Pervoobraznaya i neopredelennyj_integralPervoobraznaya i neopredelennyj_integral
Pervoobraznaya i neopredelennyj_integral
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 6. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 6)
Β 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
Β 
6.3 БпСциализация шаблонов
6.3 БпСциализация шаблонов6.3 БпСциализация шаблонов
6.3 БпСциализация шаблонов
Β 
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… функцийминимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
минимизация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
Β 
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа
3.5 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа
Β 
стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
стандартныС функциистандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 2. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 2)
Β 
3.8 Класс массива
3.8 Класс массива3.8 Класс массива
3.8 Класс массива
Β 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
Β 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Clojure
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ClojureΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Clojure
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Clojure
Β 
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMP
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMPЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMP
ЛСкция 6. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ OpenMP
Β 

Similar to C language lect_08_introduction

Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)
Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)
Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)djbelyakk
Β 
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”IT_1315
Β 
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesPlatonov Sergey
Β 
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesPlatonov Sergey
Β 
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...Yandex
Β 
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMTech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMTech Talks @NSU
Β 
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMКак ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMTech Talks @NSU
Β 
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программированияΠ₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программированияAlex.Kolonitsky
Β 
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.Igor Shkulipa
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)Mikhail Kurnosov
Β 
язык програмирования
язык програмированияязык програмирования
язык програмированияOlegmingalev1997
Β 
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибками
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибкамиIntel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибками
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибкамиTatyanazaxarova
Β 
статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
статичСский Π°Π½Π°Π»ΠΈΠ· кодастатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°Andrey Karpov
Β 
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° Pavel Tsukanov
Β 
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru Group
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru GroupКак Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru Group
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru GroupMail.ru Group
Β 
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-Studio
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-StudioΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-Studio
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-StudioAndrey Karpov
Β 
C++ осСнь 2013 лСкция 2
C++ осСнь 2013 лСкция 2C++ осСнь 2013 лСкция 2
C++ осСнь 2013 лСкция 2Technopark
Β 

Similar to C language lect_08_introduction (20)

Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)
Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)
Π»Π΅ΠΊΡ†ΠΈΠΈ спрг 6_сСмСстр (1)
Β 
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”
Π‘Π˜ΠœΠŸΠ›Π•ΠšΠ‘-ΠœΠ•Π’ΠžΠ”
Β 
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
Β 
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templatesΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ трассирования с использованиСм Expression templates
Β 
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...
Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡ€ΡƒΡ‚ΡŒΠΊΠΎ β€” ΠžΠΏΡ‹Ρ‚ внСдрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний для ΠΏΠΎΠ²Ρ‹Ρˆ...
Β 
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMTech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Tech Talks @NSU: Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Β 
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVMКак ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Как ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΊΠΎΠ½Π°: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² LLVM
Β 
Programming c++ (begin-if-else)
Programming c++ (begin-if-else)Programming c++ (begin-if-else)
Programming c++ (begin-if-else)
Β 
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программированияΠ₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования
Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования
Β 
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.
C++ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ. ЗанятиС 04.
Β 
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)
Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 5. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° OpenMP (Ρ‡Π°ΡΡ‚ΡŒ 5)
Β 
язык програмирования
язык програмированияязык програмирования
язык програмирования
Β 
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибками
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибкамиIntel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибками
Intel IPP Samples for Windows - Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ошибками
Β 
статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
статичСский Π°Π½Π°Π»ΠΈΠ· кодастатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
Β 
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
БтатичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°
Β 
Rgsu04
Rgsu04Rgsu04
Rgsu04
Β 
Rgsu04
Rgsu04Rgsu04
Rgsu04
Β 
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru Group
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru GroupКак Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru Group
Как Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€Π°Π³Π°ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠšΠΈΡ€ΠΈΠ»Π» Π‘Π΅Ρ€Π΅Π·ΠΈΠ½, Mail.ru Group
Β 
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-Studio
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-StudioΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-Studio
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° PVS-Studio
Β 
C++ осСнь 2013 лСкция 2
C++ осСнь 2013 лСкция 2C++ осСнь 2013 лСкция 2
C++ осСнь 2013 лСкция 2
Β 

More from Roman Brovko

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task NetworkingRoman Brovko
Β 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
Β 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
Β 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2Roman Brovko
Β 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1Roman Brovko
Β 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flashRoman Brovko
Β 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2CRoman Brovko
Β 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshopRoman Brovko
Β 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uartRoman Brovko
Β 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorRoman Brovko
Β 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwmRoman Brovko
Β 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsRoman Brovko
Β 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_worldRoman Brovko
Β 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisitesRoman Brovko
Β 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advancedRoman Brovko
Β 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advancedRoman Brovko
Β 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advancedRoman Brovko
Β 
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСнияподготовка Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСнияRoman Brovko
Β 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advancedRoman Brovko
Β 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
Β 

More from Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
Β 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
Β 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
Β 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
Β 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
Β 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
Β 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
Β 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
Β 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
Β 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
Β 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
Β 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
Β 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
Β 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
Β 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
Β 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
Β 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
Β 
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСнияподготовка Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния
Β 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
Β 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
Β 

C language lect_08_introduction

  • 2. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ β€’ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ β€’ Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ β€’ ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° β€’ MIN, MAX macros β€’ SUM, MULT macros β€’ Bit Modifications macros 23.05.2019 0:20 Introduction 2
  • 3. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ 3 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ОписаниС #include вставляСт тСкст ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° #define Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΌΠ°ΠΊΡ€ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (макрос) ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ константу #undef отмСняСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ #line прСпроцСссор измСняСт Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки ΠΈ имя ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° #error Π²Ρ‹Π΄Π°Ρ‡Π° диагностичСского сообщСния ΠΈ остановка компиляции #pragma дСйствиС, зависящСС ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ компилятора
  • 4. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ 4 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ОписаниС #if осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ истинности константного выраТСния #ifdef осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ опрСдСлённости символичСской константы #ifndef осущСствляСт ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ нСопрСдСлённости символичСской константы #else Π²Π΅Ρ‚ΠΊΠ° условной компиляции ΠΏΡ€ΠΈ лоТности выраТСния #elif Π²Π΅Ρ‚ΠΊΠ° условной компиляции, образуСмая слияниСм else ΠΈ if #endif ΠΊΠΎΠ½Π΅Ρ† Π²Π΅Ρ‚ΠΊΠΈ условной компиляции
  • 5. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #1 5 #include "main.hβ€œ #define BUFFER_SIZE_MAX 1024 #line 500 int main(void) { unsigned int i; while (1) { // Insert some code here... } return 0; }
  • 6. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #2 6 #define LEDS_ON #ifdef LEDS_ON HAL_GPIO_WritePin( GPIOD, GPIO_PIN_15|GPIO_PIN_14, GPIO_PIN_SET); #else HAL_GPIO_WritePin( GPIOD, GPIO_PIN_15|GPIO_PIN_14, GPIO_PIN_RESET); #endif
  • 7. ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° ΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ макрос β€” это символьноС имя Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…, замСняСмоС ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прСпроцСссором Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. Часто макросы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для выполнСния Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… дСйствий 7
  • 8. MIN, MAX macros 8 #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #define MAX(a,b) (((a) > (b)) ? (a) : (b)) unsigned char a,b; a = MIN(5, 10); b = MAX(a, 20);
  • 9. SUM macro 9 #define SUM(a, b) a + b unsigned char a,b; a = SUM(2, 2); b = 3 * SUM(2, 2);
  • 10. SUM modified macro 10 #define SUM(a, b) (a + b) unsigned char a,b; a = SUM(2, 2); b = 3 * SUM(2, 2);
  • 11. MULT macro 11 #define MULT(a, b) (a * b) unsigned char a,b; a = MULT(2, 2); b = MULT(2, 2 + 3);
  • 12. MULT macro modified 12 #define MULT(a, b) ((a) * (b)) unsigned char a,b; a = MULT(2, 2); b = MULT(2, 2 + 3);
  • 13. SQR macro 13 #define SQR(x) ((x) * (x)) unsigned char a,b; b = 4; a = SQR(b++);
  • 14. Bit Modifications macros 14 #define SET_BIT(p,n) ((p) |= (1 << (n))) #define CLEAR_BIT(p,n) ((p) &= ~(1 << (n))) #define TOGGLE_BIT(p,n) ((p) ^= (1 << (n)))
  • 15. SET_BIT macro 15 #define SET_BIT(p,n) ((p) |= (1 << (n))) a = 0x03; SET_BIT(a, 7); Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦ a |= (1 << 7) a |= (0b10000000) a = 0b00000011 | 0b10000000 ------------ a = 0b10000011 Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ a = 0x83
  • 16. CLEAR_BIT macro 16 #define CLEAR_BIT(p,n) ((p) &= ~(1 << (n))) a = 0xFF; CLEAR_BIT(a, 3); Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦ a &= ~(1 << 3) a &= ~(0b00001000) a &= (0b11110111) a = 0b11111111 & 0b11110111 ------------ a = 0b11110111 Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ a = 0xF7
  • 17. TOGGLE_BIT macro 17 #define TOGGLE_BIT(p,n) ((p) ^= (1 << (n))) a = 0x55; TOGGLE_BIT(a, 6); Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎβ€¦ a ^= (1 << 6) a ^= 0b01000000 a = 0b01010101 ^ 0b01000000 ------------ a = 0b00010101 Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ a = 0x15
  • 18. REVERSE_BITS macro 18 #define REVERSE_BITS(a) ( (((a) & 0x80) >> 7) | (((a) & 0x40) >> 5) | (((a) & 0x20) >> 3) | (((a) & 0x10) >> 1) | (((a) & 0x08) << 1) | (((a) & 0x04) << 3) | (((a) & 0x02) << 5) | (((a) & 0x01) << 7) ) 0x 8 F -> 0x F 1 0b10001111 -> 0b11110001