회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 696

#progma 대해서!!

Software & IDEs 구매수 0 2007.06.06 16:42:12
판매자 아크마 판매 납포인트 무료 평점 0점 / 총 0명 참여

#pragma

Each implementation of C and C++ supports some features unique to its host machine or operating system. Some programs, for instance, need to exercise precise control over the memory areas where data is placed or to control the way certain functions receive parameters. The #pragma directives offer a way for each compiler to offer machine- and operating-system-specific features while retaining overall compatibility with the C and C++ languages. Pragmas are machine- or operating-system-specific by definition, and are usually different for every compiler.

-- MSDN

    C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 컴파일러들 마다 서로 다르다.


snowflower는 Accelerated C++ 에 있는 map예제를 Visual C++에서 치면서 엄청난 양의 경고를 경험했다. 이것을 어떻게 할 수 있을까 자료를 찾던 중 다음과 같은 방법을 찾았다. map에서 나는 경고는 번호 C4786번과 C4788번(identifier가 너무 길어서 나타나는 경고라고 한다) 단 2개 뿐임을 알았고, 결국 소스의 맨 윗줄에
#pragma warning(disable: 4786 4788) 
한줄을 추가함으로 해결을 봤다.

NeoCoin 은 Debug 모드에서, 값을 추적할 것을 포기하고, Project Setting -> C/C++ tab -> Debug info -> Line Numbers Only 로 놓고 쓴다.

하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, Boost 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.


뿐만 아니라 lib의 추가등이라던지 이 파일이 단 한번만 열리게 할 수도 있다.
#pragma comment(lib, "d3dx9") // dx9.lib 파일을 링크시 포함한다. 
 
#pragma once // 이 파일은 한번만 열리게 한다. 

혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 문제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 문서를 참조하는것이 도움될겁니다.

표준으로 정해진 몇몇의 pragma directive 가 있다고 알고있는데.. 그것들을 내키면 정리해서 올려보겠습니다.

모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.


profile
미노 2008.10.14 18:13
제목에 오타가 있군요^^
profile
퍄야 2008.10.18 00:33
다른 컴파일러에서 progma가 안먹힐 때가 있더군요 ㅠ
profile
passion 2009.09.10 10:36
되도록 pragma는 자제하는것이 좋은 습관인것 같아요
gnu계열 컴파일러는 잘 안먹히는 경향이 있죠
profile
타미아 2010.06.04 10:43
오 궁금했던.. pragma에 대한 설명이네요.. ㅋㅋ 유용한 정보 잘 접했습니다.
profile
투신강림 2010.07.15 23:10
정보 감사합니다.,
profile
최강유니 2010.07.26 01:26
감사합니다.
profile
컴쟁이 2013.01.24 00:06
감사합니다
profile
시나브로69 2017.06.24 14:44
좋은 자료 감사합니다.
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
696 ECAD 아무거나 회로부품에 Simulation Model 연결하기 무료 아크마 2018-01-06 0 189
695 ECAD 아무거나 Altium Designer V9 datasheet 무료 아크마 2018-01-06 0 132
694 ECAD 아무거나 Altium을 활용한 PCB CAD 툴의 운용 방법 무료 아크마 2018-01-06 0 163
693 ECAD 아무거나 Altium Xspice 한글 매뉴얼 무료 아크마 2018-01-06 0 226
692 ECAD 아무거나 XSpice Simulation Model 생성관련 자료 무료 아크마 2018-01-06 0 86
691 PADS PADS를 이용하여 Rigid-flex PCB를 설계하려고 하는데요 질문 드립니다. [1] 무료 당근1 2017-08-14 0 277
690 Allego & OrCAD orcad16.0 필요합니다 64비트용 무료 내마음의일식 2017-06-27 0 357
689 Allego & OrCAD orcad 16.0 설치 주소입니다. [2] 무료 Xorcad 2017-05-16 0 1330
688 Allego & OrCAD OrCAD PCB Editor 프로그램 질문드립니다. [1] 무료 kmgn0 2017-05-16 0 286
687 ECAD 아무거나 해외 아트워크 무료 공공 2017-04-21 0 226
686 PADS netlist 생성시 에러 [1] 무료 바다새 2017-04-18 0 407
685 ECAD 아무거나 PCB 설계시 규격관련 참조자료입니다. [4] 무료 선녀와남후꾼 2016-06-16 0 381
684 PADS 공부 시작하려고하는데 pads9.5버전좀 보내주세요! [2] 무료 bbii0902 2017-03-24 0 423
683 Allego & OrCAD OrCAD Capture "N-CH MosFET" 라이브러리 찾습니다. [3] 무료 내일의나 2017-03-07 0 226
682 PADS PADS 업체에서 크렉버젼 실사... [6] 무료 단순한바보 2017-02-21 0 1517
681 Allego & OrCAD Negative Planes에 대해 질문 드립니다. [2] 무료 Astro 2017-02-14 0 163
680 PADS Macbook사용하고 있습니다. [1] 무료 어린왕자.. 2017-02-14 0 160
679 PADS win 8.1에서 설치 시 install.txt가 안생겨요 [1] 무료 어린왕자.. 2017-02-14 0 101
678 PADS pads layout 질문 [1] 무료 YEJUN 2017-02-10 0 182
677 ECAD 아무거나 Artwork [1] 무료 YEJUN 2017-02-10 0 126
  • 인간은 항상 시간이 없다고 불평하면서 마치 시간이 무한정 있는 것처럼 행동한다.
    - 세네카
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.