출처 : http://navylela.tistory.com/210 컴파일 시 발생하는 C4996 경고는 아래 프리프로세서로 없앨 수 있다. #define _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_WARNINGS 하지만 이건 경고문만 없애주는 것이지 근본적인 해결책은 아니다. 근본적으로 문제를 해결하려면 경고문에서 나타나듯이 사용한 함수명_s 와 같은 형식으로 바꾸어서 필요한 파라미터를 더 추가해주고 사용하면 된다. MS에서 기존 함수의 보안문제(?)로 인해 함수를 새로 정의해버렸다고 하며 사용을 권하고 있다. 만일 unix 에서도 돌아가야 할 프로그램이라면 ifdef - endif 문을 사용하여 각각 플랫폼에서 작동할 함수에 대해 모두 구현해주어야 한다. #i..
2008/09 검색 결과
ASE의 전반적인 구조 1. File Head : ase 버전이나 comment 등의 정보를 담고 있다. 2. Scene : 프래임의 전반적인 정보를 담고 있따. 3. Material List : 사용된 머터리얼이며, 텍스쳐도 포함되어 있다. 4. Object List : 각종 Object 들을 담고 있다. 보기 *3DSMAX_ASCIIEXPORT200 *COMMENT "workAsciiExport Version 2.00 - Sun Sep 07 01:12:47 2008" *SCENE { *SCENE_FILENAME "aaa.max" *SCENE_FIRSTFRAME 0 *SCENE_LASTFRAME 100 *SCENE_FRAMESPEED 30 *SCENE_TICKSPERFRAME 160 *SCENE_BAC..
이 내용은 수업시간에 공부한 내용과 책을 통해 공부한 내용을 정리한 것이다. ASE 파일을 어떻게 읽어 들일 수 있는가? tinyXML 을 했던 사람이라면, 쉽게 이해 할 테지만, 아닌 사람들을 위해서 설명하자면... 1. ASE 파일을 로드 하고 2. ASE 파일의 문장을 단어(TOKEN) 단위로 끊고 3. 단어의 의미를 분석한다. 이 단어 단위로 끊는 것을 Lexer 라고 하며, 의미 분석을 Parser 라고 한다. 이제 어떻게 읽는지 알게 되었으니, Lexer 기능과 Parser 기능을 만들어야 한다. Lexer 와 Parser가 어떻게 동작해야 하나?(이 질문은 어떻게 동작하는지 알아야지만 만들수 있기 때문이다) Lexer는 문장을 단어를 자르고 Parser가 자른 단어가 쓸만한지 판단하여, 데이..
이 내용은 수업시간에 공부한 내용과 책을 통해 공부한 내용을 정리한 것이다. ASE란 무엇인가? 3D MAX 에서 작업한 것을 TEXT 정보로 Export 한 파일의 한 종류인다. 왜 배워야 하는가? MAX에서 작업한 것을 프로그램에서 사용하기 위해서다. 왜 ASE 이여야 하는가? 다른 Export 파일에 비해 이해하기가 쉬우며, 손쉽게 조작할수 있기 때문이다. ASE의 단점은 없는가? TEXT 파일이다보니, 너무 많은 용량을 사용하고, 추가적인 에디터와 파서를 만들어야 하며, Normal 값 생성도 같이 해줘야 한다.
본 내용은 "Exceptional C++ : C++ 프로그래머를 자극하는 47개의 재미있는 퍼즐·문제" 책에서 문제만 발취한것임을 미리 밝힙니다. 문제 1. char_traits에서 ci_char_traits를 상속 받는 방식이 안전한가? 2. 왜 다음과 같은 코드가 컴파일에 실패했나? // 이 코드는 항목 2의 해결책으로 나온 코드 기반의 코드이다. ci_string s = "abc"; std::cout
본 내용은 "Exceptional C++ : C++ 프로그래머를 자극하는 47개의 재미있는 퍼즐·문제" 책에서 문제만 발취한것임을 미리 밝힙니다. 문제 1. "대 · 소문자 구분 없는" 것이 무슨 뜻인가? 2. 표준 std::string 클래스와 동일하지만, 확장된 stricmp()처럼 일반적인 방법으로 대 · 소문자 구분 없는 ci_string 클래스를 작성해 보라 사용법으로는 class ci_string; ci_string s( "abCdE"); // 대 소문자를 구분하지 않는 비교 assert( s == "abcde" ); assert( s == "ABCDE" ); // 대소문자를 구분하는 비교 assert( strcmp( s.c_str(), "abCde") == 0 ); assert( strcmp..
최근댓글