2024/11/20 3

Inline Assembly와 INTLOCK의 구현

Assembly로 코딩해야할때 1. Low Level을 직접 다룰 때 : Coprocessor를 다뤄야 할 때 ( C로는 매우 난감) 2. ARM을 직접 다룰 때 : PSR을 다뤄야 할 때. Interrupt Lock을 걸고 싶을 때  3. Register를 직접 다룰 때 : Register를 직접 다루고 싶을 때는 어떻게 해야 할지.. R0, R1을 내 맘대로 다루고 싶을때 Assembly (.s)  >  Assembler로 compil > 기존 C 의 .o link   __asm >  C compiler가 이 다음부터는 Assembly구나~ 하고 넘어가줌 Inline Assembly 간단한 함수 하나 정도만 Assembly로 할때 간단 방법 {} 사이에 원하는 Assembly를 끼워 넣으면됨 ex) ..

2581번, 11653번, 1085번, 3009번

2581번bool 타입 : return 값이 true falsebool is_prime(int num) { if (num a)  1은 xb) sqrt(36) = 6 , 6 * 6= 36거듭제곱근이 제곱의 숫자를 넘기 전까지만 확인하면됨 c) 나머지는 소수이므로 true for문속에if (min_prime == -1) {    min_prime = i;} : i 값이 한번 저장 되면 다른 값으로 저장 되지 않음 11653번a) 2 4 6  8 10 은 다 2의 배수라 쭉 2로 나눔b) 3 부터 소수들은 따로 나눔 ( 거듭제곱근까지)c) 그러고도 남은 수 ex) 13 은 소수 이므로 그냥 출력 1085번1. x,y 에 있고, (0,0) ~ (w,h) 이므로2. 왼쪽 경계선 거리 : x3. 아래쪽 경계선..

C언어/백준 2024.11.20

7.5 sizeof , 8. array

sizeof : 단항연산자sizeof i + j >> ( sizeof i ) + j > size_t 로 implementation-defined size_t : unsigned integer type %lu , (unsigned long) sizeof() C99 trick %z(u) , sizeof()   subscripting or indexing배열 요소 안에 접근하고자 [ ] 안에 값을 쓰는것 배열의 범위를 벗어나면,,int a[10], i; for (i = 1; i 10; i++){      a[i] = 0;  } :  a[10] 은 a[9] 의 다음 주소로 넘어감 만약 i 가 다음 주소라면 i=0 이되어 무한루프를 돎 for문 1번조건 > 2번조건 > 3번조건>2번조건>3번조건,,, 두번 참조 ..

C언어/C - knk 2024.11.20