레필리아
'컴퓨터공학 기초' 카테고리의 글 목록

컴퓨터공학 기초

컴퓨터공학 기초/Java

android:layout_weight 속성

LinearLayout의 속성 중에 android:layout_weight 이라는 속성이 있는데요. 이 것을 이용하면 LinearLayout의 항목들 배치에 아주 도움이 됩니다. layout_weight 란 한마디로 UI영역에서 차지하는 중요도라고 할 수 있습니다. 이 중요도 비중을 높이면 그만큼 많은 영역을 UI영역에서 차지할 수 있죠. 설정을하지 않으면 디폴트로 0으로 설정됩니다. 위의 코드에서 TextView의 layout_weight가 1이고 Button은 설정을 하지 않았습니다. 그러면 Button이 높이가 wrap_content로 설정되어 있으니까 먼저 필요한 영역을 차지한 후 나머지 영역은 모두 TextView로 채워집니다. 만약 TextView와 Button에 layout_weight를 모..

컴퓨터공학 기초/Java

I/O 클래스의 종류

JAVA의 I/O는 java.io 패키지에 클래스가 정의되어 있는 경우가 대부분이다. (최근에는 nio 등이 나왔다.) JAVA의 초기에는 입출력 클래스도 단순하였다. 단순히 바이트 단위의 입출력만 지원했지만, 현재는 계속적으로 확장되며 문자 단위의 입출력 뿐만 아니라 다양한 기능을 지원하는 클래스들이 생겨났다. 1. I/O 클래스의 이름과 의미 Stream으로 끝나는 클래스 : 바이트 단위로 입출력을 수행하는 클래스Reader / Writer로 끝나는 클래스 : 캐릭터 단위로 입출력을 수행하는 클래스File로 시작하는 클래스 : 하드디스크의 파일을 사용하는 클래스Data로 시작하는 클래스 : 자바의 원시 자료형을 출력하기 위한 클래스Buffered로 시작하는 클래스 : 시스템의 버퍼를 사용하는 클래스 ..

컴퓨터공학 기초/C.C++

gcc/g++ 특정 워닝 제거 방법

비쥬얼 스튜디오는 #pragma 를 통해 특정 워닝을 제거할 수 있음.하지만, gcc(g++)의 경우 방법을 찾기가 어려웠지만 우여곡절 끝에 알아 냄. 컴파일 옵션으로 -Wno-[워닝 이름] 을 주면 특정 워닝을 무시할 수 있음.예를 들어, -Wno-unused-result 를 주면 unused result 워닝을 무시할 수 있음. -w 옵션을 주면 모든 워닝 무시 가능.

컴퓨터공학 기초/C.C++

윈도우 도스(콘솔) 글자색 배경색 지정하기

#include #include int main(){ // 밝은 청색 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_INTENSITY); puts("Light Blue"); // 밝은 녹색 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY); puts("Light Green"); // 밝은 시안 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | ..

컴퓨터공학 기초/C.C++

#define 매크로 개념 설명

C/C++ 에서 #define 을 사용을 가급적 자제하도록 권고되고 있지만, 잘 사용할 경우 많은 코딩상의 이득을 볼 수 있습니다. #define을 활용하는 예를 몇 가지 설명하려고 합니다. 우선 팁을 설명하기 전에 간단하게 ‘##’ 과 “#’ 에 대해 살펴보고 가겠습니다. (샘플소스는 MSDN 에서 가져왔습니다) 1. ‘##’ - Token-Pasting Operator (##): 분리되어 있는 2개의 토큰을 하나로 뭉쳐주는 역할을 합니다. #define paster( n ) printf( "token" #n " = %d", token##n ) 라고 할 때 아래와 같은 코딩은 다음과 같이 풀이되어 결국 ‘token9 = 9’ 가 화면에 표시되게 됩니다. printf( "token" "9" " = %d"..

컴퓨터공학 기초/C.C++

#define 매크로 예제

#define ABS(a)(((a) < (0))?-(a):(a))#define SWAP(a, b)(a)^=(b)^=(a)^=(b)#define LIMIT(val, l, h)((val)Release(); x = NULL;#define SAFE_DELTE_OBJECT(x) if(x) DeleteObject(x); #define IS_ARRAY_ACCESS(var, maxval) (0

컴퓨터공학 기초/C.C++

코드 실행 시간 측정 방법 정리

이번에 알아보는 것은 Visual C++에서 시간을 측정하는 방법입니다. Visual C++에서 시간을 측정하는 방법은 여러 가지가 있는데 . ANSI C의 함수를 이용하는 방법부터 윈도우 API 함수를 이용하는 방법까지 다양합니다. 그리고, 각각의 방법을 사용하기 위해서 함수에 따라 적절히 헤더를 Include 해줘야 하기도 합니다. 다음은 DEVPIA와 MSDN 을 통해서 찾은 여러 가지 시간 측정하는 방법입니다. 여러 님들이 올리신 글들을 제가 한번 정리해 본 것이구요, 소스를 직접 테스트 해보기도 하고 수정을 하기도 했습니다. 그리고 각각의 방법들은 형태는 다르지만 모두 공통점이 있습니다. 바로 실행 시간을 측정하기 위해서 원하는 루틴의 시작점과 종료점에서 시간 측정과 관련하는 함수를 부른다는 겁..

컴퓨터공학 기초/C.C++

const_cast, static_cast, reinterpret_cast, dynamic_cast

const_castconst로 선언된 상수를 일반변수로 변환하는데 사용된다. volatile를 변환시키는데도 쓰인다 static_castc캐스팅과 비슷한 기본적인 캐스팅 연산자로 실수형, 정수형, 열거형등 기본적인 형변환을 할때 사용된다const_cast와 달리 일반변수를 상수로 바꿀수있지만 상수를 일반변수로 바꾸진못한다c캐스팅과의 차이점은 타입체크를 run-time으로 하지않고 compile-time에 정적으로 수행한다 reinterpret_cast어떠한 정수와 포인터 타입간에도 변환이 가능한 강력한 형변환이다하지만 기본적인 캐스팅개념에서 벗어나 강제로 바꿔 매우 불안정하기 때문에 쓰려면 위험을 감수해야한다 dynamic_cast상속관계에있는 클래스간의 형변환을 할때 사용한다형변환에 문제가없는지 안전검..