[소고] 형한정자...

@codemaru · September 19, 2001 · 5 min read

오늘 친구랑 채팅을 하면서... 함수의 포인터에 대해서 볼 부분이 있어서... ABC(A Book On C)를 꺼내 들었다...

한참 함수 포인터를 뒤적이다... 읽고 뒤로 넘기는 순간 const와 volatile이 나오는 장이었다...

여러분은 잘 알고있는지 모르겠다... const와 volatile에 대해서... 간단하게 설명하면,

const는 소프웨어적으로나 하드웨어적으로 절대로 변경이 불가능한 값을 말하고...

volatile은 소프웨어적으로는 변경이 불가능하나 하드웨어적으로는 변경이 가능한 값을 말한다...

그럼 이런 const와 volatile은 어떤 곳에 사용이 되는 것일까?!... const는 일반적으로..

상수대용으로 많이 사용되며, 또한 코드의 무결성을 보장하는 용도로도 종종 사용된다...

volatile은 주로 타이머와같은 하드웨어적으로는 변경이 되지만... 소프트웨어에서 변경해서는 않되는 값등에 주로 사용이된다...

문득 그걸 읽다보니... 엉뚱한 생각이 떠올랐다... 변수를 한정시키는 const와 volatile...

그리고 사랑의 관계라고나 할까?!... ㅎㅎㅎ^^;; 사랑에 고민하는 친구랑 채팅을 하는도중에 봐서 그런지도 모르겠지만...

하여튼 그런 생각이 떠올랐다... const와 volatile은 모두 변수를 한정시키는 용도로 사용된다...

사실 플머의 입장에서 플밍을하다보면... const를 volatile보다 더 많이 사용할때가 많다...

사랑도... 비슷한 습성을 가지고 있는것이... 바로 우리가 누군가를 좋아하게 되면 그 사람을 구속하려는 성향을 지니기 때문이당...

완전 내 생각일지도 모르지만~~~^^;; 구래도 여기는 내 생각을 적는 곳이니까 꿋꿋히 적어야징...^^;;

하여튼 그렇게 구속을 하게 되는데... 사실 플밍의 입장에서도 한정된 변수보다는 그냥 일반 변수가 훨씬더 효용성이 높다...

단지 한정하는 경우에 얻을 수 있는 이득은... 그 변수가 변치 않는다는 단정적인 보장정도밖이다...

그렇기 때문에... 일단 한정을 하고 나면... 그 값을 복사시키거나 해서 사용해야되고...

하여튼 그에 비해 얻는 여러가지... 나쁜점들도 있다... 사랑도 마찬가지인것 같다...

그 사람을 너무 구속하려들면... 그건 한정된 변수와 다를바가 없다는 생각이 든다...

결론은... 구속을 하더라도...~~~^^;; const보다는 volatile식으로 하자는 것이다...

그 자신의 자유의지는 간섭하지 않고... 단지 난 그 사람을 보는 것으로 만족해야하는 것이다...

그걸 넘어서면... 그건 죄다!!!^^^;; ㅋㅋㅋ...

💡 2023-11-23

const와 volatile에 대한 하드웨어, 소프트웨어 논의는 대체로 무의미하다. const와 volatile이 가지는 주된 차이는 컴파일러의 최적화 여부다.

const는 변경이 되지 않는 다는 것을 알고 있기 때문에 컴파일러가 최적화를해서 변수를 직접 참조하지 않도록 만드는 경우가 많다. volatile은 그 반대다. 변경된다는 것을 알려주기 때문에 컴파일러가 변수 값을 최적화 하지 않고 메모리에서 값을 읽도록 시도한다.

코딩에서는 글에서 논의된 것과는 다르게 volatile보다는 const가 훨씬 유용하다. 대체로 프로그램의 불완전성은 변하기 때문에 발생하는데 const는 변하지 않는다는 것을 보장하기 때문이다.

코딩과 반대로 사랑에 대해서는 21살의 나와 같은 생각이다. 지나친 구속은 서로를 피곤하게 한다. 칼릴 지브란의 시처럼 관계에도 여백의 미가 필요하다.

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중