어도비 플래시 플레이어의 지원이 2020년 종료되었습니다. 이제 대부분의 어도비 플래시 플레이어 기반의 사이트가 서비스를 종료하게되었습니다. 종료해야만 하겠죠. 그 이유에 대한 내용은 이전 포스팅에서 다루었는데요, 어도비 플레시 플레이어 지원 중단에 따른 해야할 일, 삭제 방법, 대처 방법에 대해서 설명드렸습니다. 👉 어도비 플래시 플레이어 지원 중단에 관한 모든 것 어도비 플래시 플레이어 지원 중단에 관한 모든 것(삭제 방법 / 대체 프로그램) 2020년 12월 31일 어도비 플래시 플레이어에 대한 어도비 공식 지원이 종료됩니다. 어도비 플래시 플레이어 전설의 마시마로, 오인용, 홍스구락부를 아시는지요. 어도비 플래시 플레이어는 과거 mk28.tistory.com 어도비 플레이어 지원이 중단되면서, 난..
2020년 12월 31일 어도비 플래시 플레이어에 대한 어도비 공식 지원이 종료됩니다. 어도비 플래시 플레이어 전설의 마시마로, 오인용, 홍스구락부를 아시는지요. 어도비 플래시 플레이어는 과거 웹에서 다양한 기능과 콘텐츠 구현이 어려웠을 시절, 게임, 애니메이션 비디오 등 상호작용 콘텐츠를 만들 수 있도록 도와주는 소프트웨어 플랫폼입니다. PC에 플래시 플레이어만 설치되어있으면 기존 HTML로는 구현하기 힘든 콘텐츠들을 제공하는 유용한 기술이었습니다. 플래시 기반 웹 게임, 웹페이지에 있는 반응형 메뉴 같은 웹디자인, 움직이는 배너 광고도 모두 플래시 플레이어 덕분이었습니다. 표준 기술은 아니지만 마치 표준처럼 널리 쓰인 기술이지요. 👉 어도비 플래시 플레이어 대체 방법 (feat. 추억의 게임 모음, ..
매크로 함수 매크로함수 형식 #define 매크로함수(인자리스트) 대치내용 장점 - 매크로 함수는 자료형에 독립적 - 실행속도가 일반함수보다 빠름 - 함수 호출 문장이 전부 매크로 함수 몸체 부분으로 치환되어 코드 크기가 커짐 단점 - 매크로 함수는 매크로 대치이므로 의도치 않은 결과를 가져올 수 있음 - 매크로 함수에서 증감연산자 사용하면 안됨 예시 1 #include 2 #define SQUARE(x) x*x 3 #define SQUARE2(x) (x)*(x) 4 5 int main() 6 { 7 int num; 8 printf("input number?"); 9 10 scanf("%d", &num); 11 printf("%d, square: %d \n", num, square(num+2)); 12 ..
비트연산자 비트연산자 특징 - 응용 프로그램에서 비트단위(2진수) 연산을 할 때 사용되는 연산자 - 속도가 빠름 - &|~^>> 0; i = i/2) if(i & n2) printf("1 "); else printf("0 "); printf("\n"); n3 = n1 & n2; printf("%d & %d : ", n1, n2); for(i = 128; i > 0; i = i/2) if(i & n3) printf("1 "); else printf("0 "); printf("\n"); n3 = n1 | n2; printf("%d | %d : ", n1, n2); for(i = 128; i > 0; i = i/2) if(i & n3) printf("1 "); else printf("0 "); printf("..
공용체와 구조체 비트필드 공용체 UNION - 차례대로 메모리 할당되는 구조체와 달리 같은 메모리 공간을 여러 멤버가 공유하는 사용자 정의 자료형 - 구조체와 메모리 할당구조가 다름 - 가장 큰 자료형의 크기만큼 메모리 공간이 할당되며 모든 멤버는 시작주소가 동일 - 하드웨어 제어시 애용 #include int main() { union UNI { char x; short int y; long int z; } uni; printf("union size : %d\n", sizeof(uni)); printf("%p, %p, %p \n", &uni.x, &uni.y, &uni.z); uni.z = 0x12345678; printf("%x %x %x \n", uni.x, uni.y, uni.z); return ..
구조체와 구조체포인터 구조체 구조체 정의 - 서로 다른 타입의 멤버라고 하는 값들의 통합 자료형 - 사용자 정의 타입 * cf ) 배열 : 같은 타입의 데이터 모임 구조체 선언 #include // 변수 아니고 멤버 struct SCORE { char name[20]; int kor; int math; int eng; float avg; }; int main() { // 구조체 변수 struct SCORE st1 = {"홍길동", 50, 78, 95}; printf("%d, %d \n", sizeof(st1), sizeof(struct SCORE)); printf("&st1 : %p, %p\n", &st1, st1.name); st1.avg=(st1.kor+st1.math+st1.eng) / (float..
가변 인자 가변인자 특성 - 함수 인자의 수가 정해져있지 않은 함수 - C는 객체지향과 달리 함수명으로만 함수를 구분 - 인자리스트만 다를 경우, 가변인자 함수를 작성하면 하나의 함수로 가능 - 가변인자를 위한 매크로有 - 고정할당 뒤에 차례대로 저장됨 형태 int 함수명(인자, …) * …; 인자 생략 가능, 여러개 전달 가능 가변인자를 위한 매크로 특성 - ANSI C에서는 이식성을 높일 목적으로 가변길이 인수를 사용하기 위한 매크로를 제공 - 헤더파일 : #include - va_start / va_arg / va_end va_start(list,fix) - 리스트를 초기화 - 리스트 포인터 고정 다음인자의 시작주소를 리스트에 저장함 - va_list : 헤더파일에 어떤 주소도 대입받을 수 있는 v..
[고급 C++]포인터 1편(프로세스/포인터변수/포인터연산/NULL포인터) 프로세스 프로세스 정의 메모리에서 실행중인 프로그램 특징 - xx번지라고 하는 주소 개념을 가짐 - 메모리 주소 공간은 스택 세그먼트 / 힙세그먼트 / 데이터 / 코드 세그먼트로 구분 - 제한된 공 mk28.tistory.com [고급 C++]포인터 2편(배열과 포인터) 배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {1.. mk28.tistory.com [고급 C++]포인터 3편(배열 포인터/포인터 배열/문자열 상수 포인터) [고급 C++]포인터 ..
주의하세요! PC에서 동영상 편집을 위해 동영상 편집기가 필요해 '윈도우 무비 메이커'를 검색했는데 더이상 지원하지 않는다고만 하고 내가 찾는 무비 메이커는 보이지 않았다. 그래도 진짜 편집기가 필요해서 열심히 찾아보았다. 그러다가 "2020 신버전 윈도우 무비 메이커 " 라고새로운 버전이 출시되었다는 글을 발견했다. UI가 많이 달라졌다고 생각했다. 무료 버전으로 다운받았는데, 쓸만해서 보니 워터마크가 박혀있다. 워터마크 없이 사용하려고 4만원 덜 되는 돈을 유료 결제했다. 근데 나중에 보니까 무슨 이상한 곳에서 결제가 됐다. 어이가 없었는데 나중에 보니까 마이크로소프트에서 발행된 프로그램이 아니었다. 자세히보니 이름도 Windows도 아니고 그냥 Window 더라.. 절대 공식적인, 우리가 알던 Wi..