Green World

반응형

integer와 int의 차이점은 "값을 저장하느냐 주소를 저장하느냐"의 차이입니다.

 

예를 들어

 

int a = 10;

 

위와 같은 식이 있을 때 a는 값 10을 가리키고 있지만

 

하지만

 

Integer b = 10;

 

이렇게 쓰면 b는 10아닌 메모리의주소 X101234553 등을 가르키고있는겁니다.

 

다시 말해 기본변수냐 참조변수냐 하는 것의 차이입니다.

반응형

반응형

콘센트에 보시면 노란색이나 은색으로 되어있는 부분이 있는 것이 접지를 시켜주는 역할
이 접지를 안하면 장판에 있을때 전기 통하는 현상을 차단 할 수 없습니다

반응형

반응형
첫 문자가 #인 것들은 전처리문입니다.

전처리문이란 실질적인 컴파일을 하기 전에 미리 처리되는 문장을 가리킵니다.
그러니까 컴파일러는 사용자가 작성한 코드를 컴파일하기 전에 전처리문에서 정의해놓은 작업을 먼저 수행하는거죠.

#ifdef은 질문자님이 예측하신대로 조건 처리를 위한 전처리문에 속합니다.

 ifdef는 if define를 줄인 것이고 뜻은 만약에 정의돼 있다면~ 이구요.

#define는 형태 정의를 위한 전처리문에 속하고, 매크로라고도 하며 값을 정의하는 역할입니다.

#endif는 조건 처리를 위한 전처리문에 속합니다.
#ifdef와 #ifndef 끝에 사용하는데 그건 #ifdef, #ifndef 등이 끝났음을 알리는 것입니다.


반응형

반응형

agma

플랫폼 별로 구조나 기능이 다르기 때문에 구현이 다르다. 메모리 관리 방식이나 실행 파일의 특수한 구조로 인한 코드 배치 방법이 플랫폼 별로 다르기 때문에 이런 기능에 대한 지시 사항을 컴파일러에게 전달하는 방법이다.

 

#pragma 토큰 문자열

 

#pragma 지시자는 플랫폼에 종속저거인 기능에 대한 지시자이므로 컴파일러에 대해서 종속적일 수 밖에 없다. 토큰을 인식할 수 없을 경우 단순히 무시하며 컴파일을 계속 수행한다

 

Visual Studio 2008의 pragma 토큰

alloc_text, auto_inline, bass_seg, check_stack, code_seg, comment, component, conform, const_set, data_seg, deprecated, fenv_access, float_control, fp_contract, function, hdrstop, include_alias, init_seg, inline_depth, inline_recursion, intrinsic, make_public, managed, message, omp, once, optimize, pack, pointer_to_members, pop_macro, push_macro, region, endregion, runtime_checks, section, setlocale, strict_gs_check, unmanaged, vtordisp, warning

참조 : http://msdn.microsoft.com/ko-kr/library/d9x1s805(v=vs.90).aspx

 

#pragma once

헤더파일이 여러 곳에 복잡하게 #include 되어 쓰이면 중복 빌드되기 때문에 컴파일러에게 해당 헤더 파일을 한 번만 포함하도록 하는 명령어이다. 조건부 컴파일 지시자로 한 번만 포함하는 효과와 같다.

 

#ifdef _HEADERFILE_H_

#define _HEADERFILE_H_

///헤더내용

#endif

 

#pragma pack

이후부터 선언되는 구조체의 정렬 방식을 지정한다. pack 지시자는 소스의 중간에서 원하는 구조체에 대해 정렬 방식을 변경할 수 있다.

 

#pragma pack(2)

struct st1 { short s; int i; };

#pragma pack(4)

struct st2 { short s; int i; };

 

st1구조체는 2바이트 정렬되므로 6바이트를 차지하고 st2는 4바이트 정렬이 되므로 8바이트를 차지한다. 임시적으로 원하는 정렬값을 적용한 후 원래의 정렬값으로 돌아오기 위해서는 원래 값을 보관해 두어야 하는데 push, pop명령을 이용할 수 있다.

 

#pragma pack(2)

struct st1 { short s; int i; }; //2바이트 정렬

#pragma pack(push, 4)      //푸시하면서 4바이트 정렬로 바꿈

struct st2 { short s; int i; }; //4바이트 정렬

#pragma pack(pop)           //원래 정렬값 복원

struct st3 { short s; int i; }; //2바이트 정렬

 

#pragma warning

컴파일러에서 알려주는 경고를 사용자가 출력 방법을 바꿀 수 있다.

 

#pragma warning(경고제어문:경고번호)

 

경고 제어문 다음에 : 과 함께 대상 경고의 번호를 적을 수 있으며 경고 번호는 공백으로 구분하여 여러 개를 나열할 수 있ㅇ으며 경고 제어문도 콜론으로 구분하여 여러 개를 나열할 수 있다.

 

onece:번호   반복되는 경고를 한번만 출력한다.

default:번호  원래 설정대로 되돌린다.

disable:번호 경고를 출력하지 않는다.

error:번호     경고를 에러로 처리한다.

레벨:번호      경고의 레벨(1~4)을 변경한다

push[,n]      모든 경고의 레벨을 저장한다. n이 있을 경우 저장과 동시에 전역 경고 레벨을 n으로 변경한다.

pop              스택에 마지막으로 저장된 경고 레벨을 복원한다.

 

#pragma comment()

대표적으로 라이브러리를 소스코드 내에서 인클루드 할 때 사용한다.

 

#pragma comment( comment_type, [, "commentstring"]

 

compiler, exestr, lib, linker, user등의 명령이 있다.

반응형

반응형

Strict Mode DTD

<!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

설명)

- 가장 표준이 되는 DTD입니다.
- 확장된 어트리뷰트를 허용하지 않습니다.
- 배경색 , 글자색등의 일정한 조건에 따른 어트리뷰트(bgcolor 라던가 font태그의 color속성)을 인정하지 않습니다.


Strict의 가장 큰 특징이라면 "확장된 어트리뷰트를 지원하지 않는다" 라는 말인데요.

자 그러면 여기에서 확장된 이라는 뜻은 멀까요.
더더욱 쉽게 왜 Strict와 Transitional 를 만들었을까요. 그냥 Transitional만 사용하면 될텐데요.
이유는 간단합니다.

 

브라우져들이 많아 지고 다양해 지면서 소위 말하는 mhtml(mobile html)이 생겨나게 되었습니다.
모바일기기의 특성상 많은 연산을 수행해서 적정한 DTD를 적용해야 하는 브라우져가 많은 정보를 가질수 없기에
정확한 표준된 DTD를 요구하게 되었고. 그로 인해 나온 것이 Strict입니다.

(물론 근본적인 이유는 브라우져 들끼리 치고박고 싸우다가 최소한의 안을 만들어 낸것이지만;; 대표적으로 따지면

mhtml이 대표적 이라는거 뿐입니다.)

 

결국엔 가장 최소한의 표현방법을 가진다 라는 기본안을 채택하였고. 그로 인해 CSS의 발전을 가져오게 되지요. 
CSS는 모든 브라우져 표준입니다.(단. 여기에서 중요포인트는 표준인건 맞지만 표현방식은 멋대로입니다.)


Transitional Mode DTD

<!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">

 

- 일반적으로 가장 많이 쓰이는 DTD입니다.
- 확장된 어트리뷰트를 호환합니다.
- 각 브라우져에 따른 DTD를 호환합니다.
- Strict보다 로딩속도는 느립니다.
- Strict보다 표준안에 가깝지는 않습니다.


 

Transitional은 우리들이 가장 많이 쓰이는 표준안이라고 말씀드릴수 있으며
우리들이 사용하는 거의 대부분의 태그는 Transitional안에 있다고 보시면 됩니다.
그리고 Transitional의 내용중

 

"각 브라우져에 따른 DTD를 호환합니다."

 

라는 말은 대표적으로 익스플로어의 marquee 태그를 아실껍니다.
이 태그는 실제적으로 Transitional안에는 없습니다.

단지 익스플로어에 내장된 DTD를 포함하므로 사용가능한것입니다.

Transitional로 하면 로딩속도는 저하되지만 그만큼 표현성이나 작업하는데에 따른 태그의 활용성은
넓게 됩니다. Transitional로 코딩된 문서중 일부는 mhtml이나 또는 shtml(strict html)에서 표현이
불가할수 있습니다.

 

Frameset Mode DTD

<!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Frameset//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-Frameset.dtd">

 

- 프레임셋을 만들때 사용하는 DTD입니다.
- 확장 및 프레임에 사용가능한 모든 내용을 포함합니다.

- html 4.01 Frameset.dtd 와 동일합니다.

Frameset은 프레임을 나누고 프레임에 따른 이름 및 설정을 지정하는
태그들을 저장한것입니다.

html4.01버젼과 동일한 DTD를 가지고 있습니다.

반응형

반응형

JNI를 활용


#include <jni.h>       /* where everything is defined */
    ...
    JavaVM *jvm;       /* denotes a Java VM */
    JNIEnv *env;       /* pointer to native method interface */
    JDK1_1InitArgs vm_args; /* JDK 1.1 VM initialization arguments */
    vm_args.version = 0x00010001; /* New in 1.1.2: VM version */
    /* Get the default initialization arguments and set the class 
     * path */
    JNI_GetDefaultJavaVMInitArgs(&vm_args);
    vm_args.classpath = ...;
    /* load and initialize a Java VM, return a JNI interface 
     * pointer in env */
    JNI_CreateJavaVM(&jvm, &env, &vm_args);
    /* invoke the Main.test method using the JNI */
    jclass cls = env->FindClass("Main");
    jmethodID mid = env->GetStaticMethodID(cls, "test", "(I)V");
    env->CallStaticVoidMethod(cls, mid, 100);
    /* We are done. */
    jvm->DestroyJavaVM();
 


http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html

반응형

'IT 정보 공유' 카테고리의 다른 글

[검은색비율 - 탈모관리] 개인정보 취급방침  (0) 2021.02.14
html의 transit과 strict의 차이  (0) 2015.03.09
c#함수를 c++코드에서 쓰는 방법  (0) 2015.03.09
SOAP과 REST  (0) 2015.03.09
c++에 molloc이란  (0) 2015.03.09

반응형

 KGC 발표자료 중 '두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티 플랫폼 게임 아키텍쳐 설계참고

반응형

'IT 정보 공유' 카테고리의 다른 글

html의 transit과 strict의 차이  (0) 2015.03.09
c++에 자바함수 모듈을 호출  (0) 2015.03.09
SOAP과 REST  (0) 2015.03.09
c++에 molloc이란  (0) 2015.03.09
margin과 padding의 차이  (0) 2015.03.09

반응형

http://www.hostinger.kr/

반응형

SOAP과 REST

IT 정보 공유2015. 3. 9. 23:19
반응형


rest는 일종의 아키텍처 같은것입니다.
아주 아주 단순하게 생각하면 URL로 data를 주고 받는 일종의 형식을 규정한것 입니다.
soap는 xml 로 통신하는 프로토콜입니다.
보통 웹서비스에서 많이 쓰고 해더와 바디에 데이터가 들어가고 바디에 xml 형식으로 object를 정의해서 사용하게 됩니다.



반응형

반응형
c++의 malloc은
c의 malloc과 똑같음.

c++은 malloc 대신 new를 사용

malloc의 함수 원형은 
 
void *malloc( size_t size );




void형 포인터로 값을 리턴하고 size_t 타입으로 사이즈를 정해준 것 만큼 동적할당 합니다.


동적할당 된 malloc 함수의 동적 배열은 힙 영역에 생성되며


사용을 할 경우 void * 형이 나오기 때문에 캐스팅해서 사용해주어야 합니다.

#include <stdio.h>

int main(void)
{
        int     *a;

        a = ( int * ) malloc ( sizeof( int ) * 4 );
}

이렇게 사용하면
a의 배열에 int형 공간을 4개만큼 할당해서
int a[4]; 라는 것을 정적이 아닌 동적으로 할당하는 것과 같습니다.


반응형