volatile 이란 "휘발성이 있는, 날라가는 성질이 있는" 이라는 뜻의 영단어입니다.

 

변수 선언 시에 volatile 을 붙이게 되면, 이 변수의 내용은 언제든지 변할 수 있기 때문에, 최적화하지 말아달라는 의미입니다.

 

 

예를 들어서, 아래와 같은 코드를 작성했다고 하면

 

int main(void) {

    int a = 1;


     while(a > 0) {
           printf("%d\n", a);
     }

 

     return 0;
}

 

컴파일러는 이 코드를 컴파일하면서, while(a > 0) 은 항상 참이 되기 때문에 아래와 같이 바꿔버립니다.

 

int main(void) {

    int a = 1;

 

    while(1) { // 항상 참

        printf("%d\n", a);

    }

 

    return 0;

}

 

비교 연산을 하나라도 줄이면 실행 파일의 크기는 물론 실행 시간도 줄일 수 있기 때문이죠.

그런데 a 변수가 조금 특별해서, 코드에서는 바꾸지 않았지만 외적 요인에 의해(다른 프로그램이 바꾸는 등) 값이 변할 수 있어서 항상 a과 0을 비교할 필요가 있을 때는, volatile 연산자를 붙여주어서 '코드에는 없지만 외부에서 이 변수의 값을 바꿀 가능성이 있다'라는 것을 컴파일러에 알려줍니다. 그러면 컴파일러는 위와 같이 함부로 최적화하지 않습니다. 즉,

 

int main(void) {

    volatile int a = 1;


     while(a > 0) {
           printf("%d\n", a);
     }

 

     return 0;
}

 

같이 프로그램을 작성하면, while의 조건식은 절대 컴파일러가 바꾸지 않으므로 무조건 a > 0 이 되고,

무한 루프를 돌 때마다 a 값을 계속 비교한다는 의미입니다.

 

일반적으로 volatile 을 쓸 일은 없지만, 멀티 스레드 프로그래밍이라는 것을 할 때에는 필요한 부분입니다.

 

 

 

 

출처 : 

kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=150820310

'Programming Language > C Language' 카테고리의 다른 글

C언어) getgid() 함수  (0) 2021.06.16
C언어) 파일 디스크립터(FD, File Descriptor)  (0) 2021.06.15
C언어) read() 함수  (0) 2021.06.15
C언어) open() 함수  (0) 2021.06.15
C언어) strstr() 함수  (0) 2021.06.15

IDLE는 "Integrated DeveLopment Environment"의

약자이며 "통합개발환경"이라는 의미이지요.

파이썬으로 프로그램을 작성할 때

도움을 주는 기능을 제공하기 때문에

"통합개발환경"이라고 부를 뿐

대단한 다른 의미가 있는 것은 아닙니다.

쉘 창에서는 명령문을 입력하고 엔터 키를 누르면

즉시 그 실행 결과가 표시됩니다.

쉘 창은 간단한 명령문이나 연산식을 테스트하고

실행 결과를 확인하기에는 아주 좋습니다.

그러나 아무리 길게 코딩을 해도

쉘 창은 한번 닫으면 모든 작업 내용이 없어집니다.

우리가 코딩한 내용을 그대로 저장해두려면

파일을 사용해야 합니다.

파이썬 코딩 파일을 만들어두면 됩니다.

이제 다음과 같이 해보세요.

쉘 창에서 [File][New File] 메뉴를 클릭합니다.

Ctrl + N 키를 눌러도 됩니다.

코딩 창에는 프롬프트가 아니라 커서가 표시됩니다.

앞의 창을 보고 틀리지 않게 천천히 입력하세요.

각 명령문 뒤에서

엔터키를 누르면 커서가 다음 라인으로 이동합니다.

쉘 창과 다르게 코딩 창에서는

명령문을 입력하고 엔터 키를 눌러도

즉시즉시 결과가 표시되지 않습니다.

코딩 창에 입력되는 명령문은

모든 명령문이 다 입력된 후

한꺼번에 실행되기 때문입니다.

또한 쉘 창과 달리

10+4와 같이 수식만 입력해서

결과를 얻을 수 없습니다.

수식의 결과를 얻으려면

print 함수의 괄호 안에 수식을 입력하며

이 때는 따옴표를 사용하지 않습니다.

빈 라인은 없어도 되는데

코드를 보기 좋게 하기 위해 삽입했습니다.

그냥 엔터 키를 한번 누르면

빈 라인이 삽입됩니다.

메뉴에서 [Save]를 클릭하고

코드를 저장할 폴더를 찾아갑니다.

Ctrl + S를 눌러도 됩니다.

[다른 이름으로 저장] 창에서 [파일 이름]을 지정하고

[파일 형식]이 "Python files (".py, *.pyw)"인가를 확인한 후

[저장] 버튼을 클릭합니다.

폴더에는 위와 같이 코드가 파일로 저장됩니다.

파이썬 코딩 파일은 확장자가 ".py"입니다.

이제 쉘 창도, 코딩 창도 모두 닫고

파이썬 작업을 완전히 끝내세요.

그리고 다시 [IDLE (Python 3.6 32-bit)]를 클릭해서

쉘 창을 부릅니다.

[File][Open] 메뉴로 "sample01.py" 파일을 부르면

코딩 창이 열리면서

이전에 저장해둔 코드가 그대로 보입니다.

이 코드를 실행시키기 위해

코딩 창에서 [Run][Run Module] 메뉴를

클릭합니다(F5 키를 눌러도 됩니다.)

그러면 다음과 같이 쉘 창에

코드가 실행된 결과가 표시됩니다.

이렇게 코딩 파일을 만들어두면

언제든지 코딩 내용을 불러서

몇 번이라도 재실행시킬 수 있습니다.

우리는 앞으로 간단한 테스트를 할 때는

즉시즉시 실행 결과를 알 수 있는

쉘 창에서 작업할 겁니다.

하지만 코딩이 길어지거나

논리적으로 곰곰히 생각할 필요가 있을 때는

코딩 파일을 사용할 겁니다.

 

 

 

 

출처 :

코딩정복 with 파이썬(PCBOOK)

 

 

 

 

주석 일괄 처리

원하는 블럭을 한번에 주석 처리를 합니다.                       안된다.. 다시 찾아보자.

단축키 : Ctrl + Shift + /(슬래시)


편집기 아톰(atom) 주석 일괄 처리 단축키

 

 

 

 

현재 줄 주석 처리

ctrl + /(슬래시)

 

 

 

 

줄 찾기

원하는 줄로 한번에 갈 수 있게 합니다.

단축키 : Ctrl + G

에디터 아톰(atom) 원하는 줄 찾기 - 원하는 줄 입력 화면

 

 

에디터 아톰(atom) 원하는 줄 찾기 - 원하는 줄로 이동한 화면

 

 

 

줄 복사

한줄 내용을 그대로 다음줄에 복사합니다.

단축 키 : Ctrl + Shift + d

에디터 아톰(atom) 줄복사 단축키

 

 


출처: 

https://han288.tistory.com/11 [사이트 구축/최적화 활용 팁]

+ Recent posts