아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
바다와함께
바다와함께20.09.17

c언어의 이식성에 대해서 궁금한 게 있습니다.

c언어의 이식성은 자바나 파이썬을 포함하지 않고 어셈블리어와만 비교해야 하는 거 아닌가요?

많은 책이나 글들이 다른 고급 언어와 비교를 하던데 c언어는 시스템 프로그래밍에 유용하고 다른 고급 언어들과는

조금 성향이 다르지 않나 싶어서요.

만약 비교하려면 어셈블리어와 비교를 해야 할테고 이식성도 어셈블리어와 비교해야 맞는 거 아닐까요?

그리고 c언어가 이식성이 위와 같은 궁금증으로 좋다 그저 그렇다라는 말이 많던데

이식성이 좋은 걸까요 안 좋은 걸까요?

55글자 더 채워주세요.
답변의 개수3개의 답변이 있어요!
  • 사실 어셈블리어가 기계어와 제일 밀접성이 높습니다

    근데 어셈블리어는 cpu에 명령어가 따라가기 때문에,

    특정 a 에 대한 어셈블리 언어를 배웠다면? 그걸 b 에 대해 그대로 적용이 안됩니다

    하지만 c 언어는 기본이 동일하기 때문에

    a에 적은 c소스가 b에서도 수정안하고 그래도 사용이 가능합니다

    그래서 이식성이 좋다는 이야기이구요

    물론 100% 동일하게 이식은 안됩니다

    하드웨어에 따라 수정을 어느정도 해줘야 할 때가 있습니다^^


  • 안녕하세요. 인라인으로 답변 드립니다.

    c언어의 이식성은 자바나 파이썬을 포함하지 않고 어셈블리어와만 비교해야 하는 거 아닌가요?

    C언어는 특정 CPU나 머신에 종속적인 어셈블리어보다 상위 언어로, 자바나 파이썬등의 high level langauge랑 비교하는 것이 적절합니다. C언어를 compile하면 어셈블리 수준의 코드가 나오는 것이니까요

    많은 책이나 글들이 다른 고급 언어와 비교를 하던데 c언어는 시스템 프로그래밍에 유용하고 다른 고급 언어들과는

    조금 성향이 다르지 않나 싶어서요.

    시스템 프로그램, 게임등 다양한 것을 만들수 있고, 시스템 프로그램은 그 일부입니다. 단적인 예로 printf("hello") 는 compile만 그 machine에 하면 항상 동작하니 portability가 매우 높은 편입니다.

    만약 비교하려면 어셈블리어와 비교를 해야 할테고 이식성도 어셈블리어와 비교해야 맞는 거 아닐까요?

    그리고 c언어가 이식성이 위와 같은 궁금증으로 좋다 그저 그렇다라는 말이 많던데

    이식성이 좋은 걸까요 안 좋은 걸까요?

    어떤 함수로 어떻게 짜냐에 따라서 이식성이 달라지지만 매우 높은 편인것은 맞습니다..


  • 이식성면에서는 어셈블리어와 비교될 수 있겠죠

    결국에는 기계어로 해석할 수 있는 컴파일러가 OS와 CPU에 맞게 해석할 수 있게 해줘야되니까요.

    이런면에서는 이식성이 자바나 파이썬 보다는 안좋습니다. 다만 각 OS와 CPU에 맞게 컴파일러가 빌드하고 해석하니 속도 측면에서는 빠르겠죠. 서로 장단점이 있습니다.