회원가입 ID/PW 찾기

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

콘텐츠 수 1,041

#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%를 돌려드립니다.
1021 마이크로프로세서 네오스 계산기 VB6 [2] 무료 네오스f91e9 2015-07-30 0 249
1020 마이크로프로세서 AVR projects 사이트 모음 [6] 무료 아크마 2015-07-11 0 2704
1019 마이크로프로세서 Low speed AVR oscilloscope [2] 무료 아크마 2015-07-11 0 329
1018 마이크로프로세서 LSB/MSB 순서 차이에 의한 이종 컴파일러간 통신시 주의점 무료 아크마 2015-06-06 0 300
1017 마이크로프로세서 아두이노 [2] 무료 세넷 2015-05-12 0 145
1016 마이크로프로세서 Freescale MPC56XX 계열 개발경험자 분 있으신가요? [1] 무료 lucawa86 2015-03-31 0 204
1015 마이크로프로세서 PIC18F877로 IDE HDD 제어하는 회로도(PIC18F877+82C55A 확장) [6] 무료 킬유21 2015-02-19 0 335
1014 마이크로프로세서 인터럽트 방식으로 LED 제어.c (좌/우 쉬프트) [4] 무료 킬유21 2015-02-19 0 385
1013 마이크로프로세서 Graphic LCD 128X64 dot 용 예제파일 [3] 무료 킬유21 2015-02-19 0 355
1012 마이크로프로세서 Temperature sensor PIC18F2550 vs LM75(회로/펌웨어) [4] 무료 킬유21 2015-02-19 0 190
1011 마이크로프로세서 LM75로 온도센싱하기(AVR16+LM75, IAR Compiler) [2] 무료 킬유21 2015-02-19 0 181
1010 마이크로프로세서 ledDisplay.c(우에서 좌로 좌에서 우로 led 가 물결치듯 시프트) [2] 무료 킬유21 2015-02-19 0 285
1009 마이크로프로세서 8051을 이용한 습도센서 제어.c [2] 무료 킬유21 2015-02-19 0 185
1008 마이크로프로세서 8051을 이용한 디지털시계구현.c [3] 무료 킬유21 2015-02-19 0 472
1007 마이크로프로세서 LM75로 온도센싱하여 7Segment에 표시하기(AVR128 + LM75 TWI Master, 회로포함) [3] 무료 킬유21 2015-02-19 0 296
1006 마이크로프로세서 LM75로 온도센싱하여 LCD에 표시하기(AVR128 + LM75 TWI Master) [2] 무료 킬유21 2015-02-19 0 417
1005 마이크로프로세서 LM75로 온도센싱하기(AVR128 + LM75 TWI Master) [3] 무료 킬유21 2015-02-19 0 149
1004 마이크로프로세서 codevision프로그램으로 블루투스 [2] 무료 dktanoidnw 2014-11-23 0 356
1003 마이크로프로세서 쓸만한 fpga [6] 무료 바람이 2014-06-01 0 1842
1002 마이크로프로세서 at90s2313-10si 안에 락비트 푸실수 있는분? [1] 무료 jazzjazz 2014-05-19 0 213
  • 존경 없이 참된 연애는 성립되지 않는다.
    - 피히테
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.