전부 감상
Big Endian, Little Endian
사실 이건 별로 어려문 문제도 복잡한 것도 아니고,메모리에 저장할 때 뒤집히고 아니고의 문제도 아닙니다. Big endian/little endian이란 용어 자체가 걸리버 여행기에서 걸리버가...대인국과 소인국에서 달걀을 깨는 방법을 가지고(???국에서는 뭉툭한 부분으로 깨고...???국에서는 뽀죡한 부분으로 깨고)...전쟁인지 그냥 싸움인지...하여튼 별 하챦은 문제로 싸우는 것을 풍자한 데서 나온 말입니다... 간단하게 말하면,하나의 레지스트...가령 16비트 레지스트 Rxxx = 0xff00이라면....이 값의 상위부분 1바이트와 하위 부분 1 바이트를 메모리의 어느쪽에 저장할까 정도의 문제입니다. 즉, 16비트=2바이트를 저장하기 위해 2개의 바이트 단위 주소가 필요한데,대인국(Big Endia..
Array와 Dictionary의 비교
import flash.utils.Dictionary; var TOTAL_NUM:int = 10000000; var i:int; var arr:Array = []; for(i=0; i
Premium Features에 관한 내용.
Stage3D클래스의 requestContext3D함수에 다음과 같은 내용이 있다. "참고: 하드웨어 가속 Stage3D와 ApplicationDomain.domainMemory를 모두 사용하는 내용에는 라이센스가 필요합니다. 자세한 내용은 adobe.com/go/fpl_kr을 참조하십시오." 첫번째, Stage3D와 ApplicationDomain.domainMemory 둘 다 사용할 경우에 비용을 지불한다. 즉, 둘 중 하나만 쓰면 비용이 발생하지 않는다. 두번째, 두가지 다 사용할 경우 수익이 $50,000가 넘으면 9%를 지불한다. 세번째, 두가지 다 사용할 경우 라이센스 비용을 지불 안했다면 디버그 버전에선 정상 작동하나릴리즈버전일 때 워터마크가 붙는다. 그리고 GPU를 사용할 수 없다.
stage3D.requestContext3D() 호출시 런타임 에러
stage3D.requestContext3D(); 실행시 런타임 에러가 발생하는 경우가 있다. "Error #2044: Unhandled ErrorEvent:. text=Error #3702: Context3D not available." Context3D를 사용할 수 없는 상태이므로 이럴때는 "프로젝트명-app.xml"에서 gpu 로 변경해준다. *참고 : 웹상에 바로 올릴 때는 html임베드시 를 direct로 해주어야 한다.
Flex SDK안에 AIR SDK 업데이트하기.
Flahs Builder 사용자만... 다른 IDE는 확인 안해봤음. 1. www.adobe.com/products/air/sdk/ 에서 최신 AIR를 다운로드 받는다. 2. 압축을 해제한 후 해당 폴더안의 내용물들을 Flex SDK 폴더에안에 덮어씌운다.(내 로컬pc의 경우 C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.6.0) 관련linkhttp://forums.adobe.com/message/4734285 http://helpx.adobe.com/x-productkb/multi/how-overlay-air-sdk-flex-sdk.html (나같은 경우 5, 6번의 경우를 추가하면 컴파일시 에러가 발생했다.)
invalid application descriptor
Flash Builder에서 컴파일시 invalid application descriptor에러가 발생했을 경우. 1. 에러가 발생했다. 이유는 현재 내 로컬pc에 설치된 AIR SDK 버전이 -app.xml에 명시된 AIR의 버전과 틀려서이다. 2. 바로 이 부분. 현재 AIR 3.1버전을 필요로 한다. 3. 프로젝트 생성 후 src폴더 안에 "프로젝트명-app.xml" 파일이 존재한다. (src폴더를 기본 소스폴더로 설정했다면) 4. "프로젝트명-app.xml"을 열어보면 로 명시가 되어있어야 한다. 만약 뒤에 버전이 맞지 않는다면 invalid application descriptor 에러가 발생한다. 5. 만약 AIR 3.5버전을 사용하고 있는데 라고 3.1을 적어도 잘 된다. 2.9는 에러 발생..
함수안에서 new연산자로 생성하지 않은 클래스의 delete는 에러
int _tmain(int argc, _TCHAR* argv[]){ BT bt; BT* pBt = &bt; delete pBt; return -1; } //debug assertion failed!! bt는 함수안에서 생성했기 때문에 스택 메모리에 올라간다. bt의 메모리 주소를 할당받아도 그 주소는 스택메모리의 주소를 가르키게 된다. 그래서 힙 메모리 상에는 존재하지 않기 때문에 delete 연산자로 메모리 해제를 하려고 하면 에러가 발생한다. 스택메모리이기 때문에 함수가 끝나면 자동으로 소멸자가 실행되며 메모리 해제가 된다.
LOGFONT 구조체
typedef struct tagLOGFONTW { LONG lfHeight; //글꼴의높이(픽셀단위), 절대값이므로 음수가능 LONG lfWidth; // 장평 LONG lfEscapement; // 문자열의 기울기 LONG lfOrientation; //글자의 각도를 0.1 단위로명시 LONG lfWeight; // 글꼴의 굵기 ( = FW_BOLD) BYTE lfItalic; // 이텔릭(약간 옆으로기울어진문자) 할지 명시(true, false) BYTE lfUnderline; // 밑줄 BYTE lfStrikeOut; // 문자가운데줄 BYTE lfCharSet; //문자집합을 명시.(국가별로설정이조금씩다를수잇따) BYTE lfOutPrecision; //나머지는 출력의정확도나, 출력물의 질적수준..