개인 재정 코드를 사용자 정의하는 10 가지 방법 : 블록 - 더미

코드를 사용자 정의하는 10 가지 방법 : 블록 - 더미

차례:

비디오: 마인크래프트 서버 만들기 How to make a Minecraft Server. 2024

비디오: 마인크래프트 서버 만들기 How to make a Minecraft Server. 2024
Anonim

Code:: Blocks는 대부분의 C ++ 응용 프로그램에서 가장 자연스러운 기본 설정과 함께 제공됩니다. 그러나 환경에서 점점 더 많은 시간을 소비하기 시작하면 코드:: 블록이 약간의 개조로 더 친숙한 장소가 될 수 있습니다.

탭 문자 사용

또는 구체적으로 탭 문자를 사용하지 마십시오. 이 설정은 모든 사람이 항상 Code:: Blocks를 사용하는 프로젝트에서 작업하는 경우 아무런 차이가 없습니다. 그러나 탭 문자의 문제점은 다른 편집기가 탭을 다르게 해석하는 경향이 있다는 것입니다. 일부 편집자는 커서를 다음 탭 정지 지점으로 이동시키고, 일부 편집자는 커서를 몇 개의 문자 위로 이동시키고 모든 편집자가 탭에 할당 할 문자 수에 동의하지는 않습니다. 다행히도 모든 편집자는 공백을 동일하게 해석하므로 코드에 다음과 같이 말하면 훨씬 안전합니다.: 편집기가 항상 공백을 사용하고 소스 파일에 탭을 저장하지 않도록 차단합니다. 이렇게하려면 설정 → 편집기를 선택하십시오. 이제 왼쪽에서 일반 설정을 선택하고 탭 문자 사용이 선택 취소되어 있는지 확인하십시오.

구문 강조 표시는 키워드에 대해 하나의 색, 변수 이름에 대해 다른 색, 문자열에 대해 세 번째 등을 사용하여 여러 유형의 구조체의 색을 변경합니다. 이는 타이핑 할 때 어리석은 오류를 피하는 데 매우 유용합니다. 예를 들어, 키워드 철자를 잘못 입력하면 키워드 색으로 표시되지 않습니다. 이 기능을 사용하려면 설정 → 편집기 → 구문 강조를 선택하십시오. 일반적으로 코드:: 블록은 파일 이름의 확장자로 언어를 말할 수 있습니다. 비표준 파일 확장명을 사용하는 경우 Filemasks를 선택하여 목록에 파일 확장명을 추가하십시오. 또한이 창에서 구문 강조 옵션을 조정하여 필요에 더 잘 맞출 수 있습니다. 특히 시력 장애와 같은 시력 문제가있는 경우 특히 중요합니다.

이것은 구식이지만 좋은 프로그래머는 코드의 모양에 약간의 자부심을 보여야합니다. 이를 위해서는 코딩 표준을 수립하고 꾸준히 준수해야합니다. 그보다 훨씬 큰 팀에서 작업 할 때는 모두 동일한 코딩 표준을 사용해야합니다. 그렇지 않으면 한 사람이 쓴 모듈은 하나의 모양과 느낌을 가지지 만 팀원이 작성한 모듈은 전혀 다른 모습을 보입니다.

The Code:: Blocks 소스 코드 포맷터는 변수 이름을 조정하지 않습니다. 더 나쁜 것은 프로그램 논리에 영향을 미치지 않습니다. 그러므로 코드가 깔끔한 코드를 작성한다면 Code:: Blocks 편집기에서 비난하지 마십시오.

설정 -> 편집기를 선택한 다음 나타나는 목록에서 소스 포맷을 선택하여 그림 1과 같은 창을 표시합니다. 미리보기 창에는 선택 사항이 실제로 어떻게 보이는지 보여줍니다. 이 예제는 ANSI 표준을 따르지만 다른 많은 공통 표준 중에서 선택하거나 Custom을 선택한 다음 들여 쓰기 및 서식 탭을 클릭하여 고유 한 표준을 만들 수 있습니다.

그림 1: 소스 코드 포맷터를 설정하면 코딩 스타일을 균일하게 적용 할 수 있습니다.

일단 표준을 선택하면, 편집기는 그 표준을 사용하도록 당신을 동축화하려고 시도 할 것입니다. 예를 들어

if (true)

를 입력하고 Enter 키를 누르면 편집기는

아래의 들여 쓰기 위치에 커서를 놓습니다. 열린 중괄호를 입력하면 편집자가 사용자를 백업하고 가 다음 줄로 이동하면 i 들여 쓰기. 코딩이 끝나면 플러그 인 → 소스 코드 포매터 (AStyle)를 선택하면 편집기가 모듈을 통해 현재 소스 코드 표준을 다시 적용합니다. 따라서 직장 동료가 자신의 프로그래밍에 대해 신중하지 않은 경우 걱정하지 마세요. 몇 번의 마우스 클릭만으로 모든 것이 정리됩니다. 코드 약어 이것은 이상한 선택입니다. 많은 양의 코드를 작성하면 ( 많이

!

로 읽음) 코드 약어를 사용하면 시간을 절약 할 수 있습니다. 특히 좋은 타이피스트가 아닌 경우에는 더욱 그렇습니다. 코드 약어를 사용하면 코드 워드를 입력 한 다음 Ctrl + J를 누를 수 있습니다. Code:: Blocks 편집기는 해당 미리 정의 된 템플릿을 입력합니다.

예를 들어 > Code <: 를 Block: Blocks에 복사 한 다음 Ctrl + J, Code::를 입력하면 Block의 이름을 먼저 물어 본 다음 그림 2에 표시된 모든 내용을 채 웁니다. 그림 2: 소스 코드 약어를 사용하면 그것을 사용하는 것을 잊지 못할 때 많은 시간을 절약 할 수 있습니다! : Blocks는 이미 정의 된 약어 집합과 함께 제공되지만 설정 → 편집기를 선택한 다음 창 왼쪽의 약어 옵션을 선택하여 원하는 모든 약어를 추가 할 수 있습니다. 코드 약어에 대한 좋은 점은 많은 타이핑을 줄이고 선택한 소스 코드 형식 지정 표준을 자동으로 적용한다는 것입니다. 매우 빠른 타이피스트 (또는 keyboarder가 되겠습니까?)는이 기능을 많이 사용하지 못할 수도 있지만 입력 할 때 10 개의 손가락을 모두 사용하지 않거나 그렇지 않은 경우 키보드에서 느린 속도로 느려지는 경우이 기능을 사용해보십시오. 특색. 자동 완성 코드:: 블록에는 자동 완성이라는 멋진 기능이 있습니다. 최소 글자 수를 입력 한 후 (기본값은 4이지만 그 값을 변경합니다), 입력을 멈 추면 Code:: Blocks는 그 글자로 시작하는 모든 것을 찾습니다.이 방법으로 코드:: 블록은 당신이 말하는 것을 기대할 수 있습니다.

예를 들어, Budget5 프로그램에는 Dummies의 다운로드 가능한 자료에 포함되어 있습니다. co.kr에서 Acco 를 입력 한 후 0.5 초만 기다리면 (매우 길지 않습니다!) 그림 3과 같이 창이 나타나서 Code:: Blocks에서 알 수있는 두 가지 항목 만 제공합니다 Acco로 시작하는이 프로그램은

Account

클래스와 typedef

AccountPtr

클래스입니다.

계정 , 을 의미했기 때문에 Enter 키를 누르면 나를 대신 채울 수 있습니다. 그림 3: 코드: 블록은이 프로그램에서 Acco에 대해 두 개의 일치 항목 만 찾습니다. 첫 번째 것은 내가 찾고있는 것입니다. 이 예에서는 pAcc 라는 계정 에 대한 포인터를 생성합니다. 다음에 pAcc ->

를 입력하고 일시 중지하면 Code: Blocks가

Account 의 공용 멤버를 나열하는 창을 엽니 다 (그림 4 참조). Figure 4: 주어진 객체, Code:: Blocks는 해당 객체에서 액세스 할 수있는 public 멤버를 찾습니다. 이것은 자신의 클래스를 참조 할 때 흥미로운 특징입니다. 무엇보다도, 목록에서 선택한다는 것은 함수 이름을 잘못 입력했거나 철자가 틀린 것을 의미합니다. 이 기능은 라이브러리에 정의 된 객체를 입력 할 때 정말로 흥미로워집니다. 예를 들어, 를 입력하십시오. , 당신은 cout 객체에 사용할 수있는 public 멤버들의리스트를 얻을 것입니다. 이것은 문서가 없거나 어디서부터 시작해야할지 모를 때 정말 도움이 될 수 있습니다. 모든 경고 활성화

모든 경고를 활성화하는 것은 간단합니다. 컴파일 시간에 팝업되는 실수는 찾아 내고 런타임에 직접 찾아야하는 것보다 훨씬 쉽게 찾을 수 있습니다. 이것이 C ++ 구문이 까다로운 이유입니다. 여러분이 의도했던 것을 정확히 코딩했는지 확인하고 완전히 다른 것을 실행하는 실행 파일을 생성하기를 원합니다.

GNU C ++ 컴파일러가 원할 경우 주석없이 수정하고 계속할 수있는 몇 가지 사실이 있습니다. 예를 들어 함수에서 변수를 정의한 다음 사용하지 않는 것이 오류가 아닙니다. 또는 함수의 중간에 리턴을 두어 리턴 후의 코드 행을 결코 실행할 수 없도록하십시오. 이것들은 오류가 아니지만, 불신 컴파일러에게는 이상한 것처럼 보입니다.

GNU 컴파일러는이 두 가지 경우 또는 코드에서 수십 개의 다른 의심스러운 구문 중 하나를 발견하면 경고를 생성합니다. 컴파일러가 불평하는 이유와 그 이유를 이해하기 위해 모든 경고를 검토해야합니다. 문제를 고치지 않더라도 이해할 수 있으면 문제를 해결하십시오. 경고는 프로그램에서 버그가 될 많은 오류를 발견합니다. 새 빌드 대상 만들기 Code:: Blocks 환경을 사용하면 둘 이상의 빌드 대상을 만들 수 있습니다. 빌드 대상을 사용하면 고유 한 빌드 설정으로 별도의 실행 파일을 만들 수 있습니다.예를 들어, 디버그를 위해 사용하는 실행 파일에는 심볼 정보를 포함하고 싶지만 고객에게 제공하려는 심볼 정보에는 포함시키지 않으려합니다 (자세한 내용은 아래 참조). Project를 생성 할 때 가장 쉽게 Debug 빌드 타겟과 Release 빌드 타겟을 생성 할 수 있습니다 - 마법사가 모든 작업을 수행하게하십시오. 그러나 프로젝트를 작업하고 디버깅한지 몇 주 후에 만 ​​릴리스 빌드 대상이 없다는 사실을 발견하기 위해 릴리스합니다. 걱정하지 마라. 항상 새로운 빌드 타겟을 만들 수있다.

새 빌드 대상을 만들려면 프로젝트 → 속성을 선택한 다음 빌드 대상 탭을 선택합니다. 그림 5와 같은 내용이 표시됩니다.이 그림은 단일 Debug 빌드 대상이있는 Budget5 프로그램을 보여줍니다.

그림 5: 프로젝트 속성 중 하나는 빌드 대상 목록입니다.

릴리즈 빌드 타겟을 생성하려면 다음 단계를 사용하십시오:

디버그 타겟을 선택하고 복제를 클릭하십시오.

새 빌드 대상의 이름 인 Release를 입력하십시오.

출력 파일 이름을 binReleaseBudget5로 변경하십시오. exe 및 객체 출력 디렉토리를 objRelease에 추가하십시오.

빌드 옵션을 클릭하여이 특정 타겟에 대해 원하는 빌드 옵션을 설정하고 확인을 클릭하십시오.

확실히 심볼 정보를 끄고 최적화를 켜기를 원할 것입니다.

OK를 클릭하여 새로운 빌드 타겟을 저장하십시오.

특정 빌드 타겟을 빌드하려면 빌드 → 타겟 선택을 선택한 다음 사용 가능한 타겟 중에서 선택하십시오. Code:: 빌드를 선택할 때 생성하려는 실행 파일을 차단합니다.

프로젝트 가능 최적화

  1. C ++ 코드의 각 행은 주변 코드 행과 상관없이 일련의 기계 명령어를 생성하고 비 최적화 모드에서는 옳을 것이라고 생각할 수 있습니다. GNU 컴파일러에 내장 된 최적화 프로그램은 여러 줄의 코드를 살펴봄으로써 C ++ 소스에서보다 효율적인 프로그램을 생성 할 수 있습니다.

  2. // i ++; (999) 다음과 같은 사소하고 완전하게 구성된 (영리한) 예제를 고려해보십시오. MOV EAX, i [BP] PUSH EAX CALL FN

  3. i ++

  4. 행은 다음과 같이 변환됩니다. 다음 세 줄의 기계 코드:

  5. i

의 값을 EAX 레지스터에로드하십시오.

EAX 레지스터를 증가시킵니다.

증가 된 값을

i

에 다시 저장하십시오.

다음 행은 fn (i) 호출을 다음과 같이 변환합니다.

  1. i 값을 EAX 레지스터에로드하십시오.

  2. EAX 값을 스택에 놓습니다.

  3. 전화 걸기. 4 단계는 실제로 불필요합니다. 값이 이미 1, 2, 3 단계에서 나온 것이기 때문에 EAX 레지스터에 i

    값을로드 할 필요가 없습니다. 평범한 옵티 마이저조차도이 사실을 인식하고 두 번째 MOV EAX, i [BP] .

  4. 이것은 많은 비용 절감이 아니지만이 예제가 그렇게 큰 개선이 아닐지라도 이해하기 쉽습니다. GNU 컴파일러가 만드는 대부분의 최적화를 이해하려면 어셈블리 언어에서 진짜 숙련자가되어야합니다. 프로젝트 → 빌드 옵션을 선택한 다음 왼쪽에서 빌드 릴리스를 선택하고 최적화 옵션 중 하나를 선택하여 특정 빌드에 대한 최적화를 활성화 할 수 있습니다. 기술적으로, 최적화 프로그램에는 많은 시간이 걸릴 수 있기 때문에 몇 가지 최적화 옵션이 있습니다. 프로젝트가 매우 큰 경우 자주 실행되지 않는 모듈을 최적화하는 데 많은 시간을 할애 할 필요가 없습니다. 중소 규모 프로젝트의 경우 전체 최적화 만 가능하므로 컴파일하는 데 몇 초가 걸리지 않습니다.

  5. 설정> 컴파일러를 선택한 다음 컴파일러 탭을 선택하고 최적화 케이스 중 하나를 선택하여 모든 빌드에서이 옵션을 활성화 할 수 있습니다. 그러나 이것은 좋은 생각이 아닙니다. 디버거를 사용할 계획이면 프로젝트의 디버그 릴리스에서 최적화를 활성화하지 마십시오. 옵티 마이저가 수행하는 코드가 변경되면 프로그램을 단계별로 실행하려고 할 때 세미 임의 워크에서 돌아 다니는 것처럼 보입니다.

  6. 프로젝트 - 디버거 기호 비활성화

기호 정보는 디버거 사용을위한 실행 파일에만 포함됩니다. 이 정보는 사용자에게 제공되는 버전에 포함되어서는 안됩니다. 불필요하게 실행 파일의 크기가 커지고 악성 코드가 해커에게 위험한 정보를 제공합니다. 릴리스 빌드 대상에서 디버그 정보를 사용하지 않으려면 프로젝트 → 빌드 옵션을 선택한 다음 왼쪽에서 릴리스 대상을 선택하십시오. 이제 릴리스 대상에 대해 디버깅 기호 생성 [-g] 옵션을 클릭하십시오. (이제는 디버그 빌드 타겟에서이 동일한 옵션을 클릭하는 것이 좋습니다.) 프로젝트 - 프로그램의 인수 설정 일부 프로그램은 명령 행 인수로 실행되도록되어 있습니다. Code:: Blocks는 Code:: Blocks 환경에서 이러한 프로그램을 실행할 때 명령 줄 인수를 제공하는 다음과 같은 메커니즘을 제공합니다. Project → Set Programs 'Arguments를 선택합니다.

상단 창에서 빌드 대상을 선택하십시오.

원하는 프로그램 이름을 프로그램 인수 창에 입력하십시오.

확인을 선택하여 창을 닫습니다.

시작 또는 실행을 입력하면 Code:: Blocks가 프로그램에 이러한 인수를 제공합니다.

코드를 사용자 정의하는 10 가지 방법 : 블록 - 더미

편집자의 선택

Dragon Go! iPhone 및 iPad 용 앱 - 인형

Dragon Go! iPhone 및 iPad 용 앱 - 인형

Dragon Search를 사용하시는 분이라면 Dragon Go를 사용하는 것이 좋습니다! Nuance는 iPhone 3GS, iPhone 5, iPhone 4, iPod touch (3 세대), iPod touch (4 세대) 및 iPad에서 사용할 수 있도록 무료로 다운로드 할 수있는이 앱을 만들었습니다. (iOS 4.0 이상이어야합니다.) Android 기기에서도 사용할 수 있습니다. 드래곤가! ...

드래곤에서 피할 수있는 10 가지 실수 말하기 - 인형

드래곤에서 피할 수있는 10 가지 실수 말하기 - 인형

모두가 실수를 저지르고 어떤 사람들은 정말 크고 재미있게 만든다. 실수. NaturallySpeaking을 사용하여 많은 실수를 저 지르므로 때때로 수시로 일부를 만들 수도 있습니다. 내가 묻는 것은 다음과 같습니다. 내가 미리 짐작했던 10 가지 분명한 실수를하지 마십시오. 원래의 수. 창조적으로 행동하십시오. 거기서 나가서 ...

NaturallySpeaking을위한 10 가지 시간 절약 팁 - 인형

NaturallySpeaking을위한 10 가지 시간 절약 팁 - 인형

때로는 잘하고 그냥 사용하는 것의 차이 새로운 소프트웨어는 더 지혜롭고 경험 많은 스승의 충고 한 부분입니다. 누군가가 당신에게 전에 말했었 으면 좋을 10 가지가 있습니다. 대화 상자의 단축키 사용 대화 상자, 라디오 버튼, 확인란의 다양한 기능 ...

편집자의 선택

Google SketchUp 8에서 새로운 지형 모델을 만드는 법 - Google에서 모델링 할 때 인형

Google SketchUp 8에서 새로운 지형 모델을 만드는 법 - Google에서 모델링 할 때 인형

SketchUp을 사용하면 지형을 만들어야 할 수 있습니다. 건물에 대한 패치를 모델링하든 센트럴 파크를 다시 디자인하든 기존 데이터로 지형을 모델링 할 수 있습니다. 기존 데이터는 일반적으로 등고선 또는 토폴 라인 형태로 도착합니다. 지형지도에서 볼 수있는 삐걱 거리는 선을 알고 있습니다.

SketchUp에서 드레이프로 경로와 도로를 만드는 법 - 스케치 업에서 드레이프 도구

SketchUp에서 드레이프로 경로와 도로를 만드는 법 - 스케치 업에서 드레이프 도구

드레이프 도구가 작동 함 쿠키 커터와 조금 같다. 그것을 사용하여 객체의 가장자리를 직접 그 아래에있는 다른 표면으로 전송합니다. 아마도 당신은 부드럽게 경 사진 지형을 가지고 있으며, 당신은 그것에 사행 경로를 그리기를 원할 것입니다. 경로는 윤곽선을 따라야합니다.

SketchUp 모델을 3D 인쇄 용 부품으로 자르는 방법 - 인형

SketchUp 모델을 3D 인쇄 용 부품으로 자르는 방법 - 인형

SketchUp 모델 자르기 Intersect Faces 도구를 사용하여 그룹을 결합하는 것과 매우 유사합니다. 더 큰 오브젝트와 교차하여 커팅의 새 가장자리가 될 커터로 지오메트리를 사용할 것입니다. 모델이 매우 단순하고 SketchUp을 사용하는 경우 ...

편집자의 선택

Route Prefix를 사용하여 Junos - dummy에서 라우팅 필터를 생성하는 방법

Route Prefix를 사용하여 Junos - dummy에서 라우팅 필터를 생성하는 방법

라우팅 정책은 특정 경로가 라우팅 테이블에 수용되거나 일부 인접 라우터에 보급되는 것을 방지하기위한 것입니다. 경우에 따라 특정 경로 또는 경로 집합을 일치시키는 것이 유용 할 수 있습니다. 이렇게하려면 경로 필터를 사용합니다. 경로 필터는 특정 IP 주소 또는 접두어 범위에서 일치합니다. ...

Junos 라우터에서 COS의 코드 포인트 별명을 사용하는 방법 - 인형

Junos 라우터에서 COS의 코드 포인트 별명을 사용하는 방법 - 인형

전달 수업은 고통 스러울 수 있습니다. 더 좋은 방법은 코드 포인트 별칭을 사용하는 것입니다. CoS (Class of Service) 정책을 결정할 때 비트 패턴을 지정하는 대신 비트 패턴을 나타내는 별칭 이름을 정의 할 수 있습니다. 이러한 별칭을 코드 포인트 별칭이라고합니다. 간단히 말하자면 코드 포인트를 사용하십시오 ...

Junos 라우팅 정보를 요약하는 방법 - 더미

Junos 라우팅 정보를 요약하는 방법 - 더미

때때로 라우팅 정보를 간단하게 요약 할 수 있습니다 라우터. 예를 들어, 네트워크에서 OSPF를 방금 구성 했으므로 라우팅 테이블에 특정 수의 OSPF 경로가 표시 될 것으로 예상됩니다. show route summary 명령을 실행하여 모든 경로를 볼 수 있습니다 ...