검색결과 리스트
쓰발이의 World에 해당되는 글 363건
- 2011.01.07 [Visual Studio] 환경 설정(개발 언어)
- 2011.01.07 2011년 블로그 목표
- 2011.01.03 [C++] 동적바인딩( Dynamic binding )
- 2010.10.17 [EXCEL] OFFSET 함수
- 2010.10.17 [EXCEL] MATCH 함수
- 2010.10.12 [Excel] 이름 정의
- 2010.09.27 [Window 7] Office 프로그램( 파워포인트, 엑셀 ) 여러 창에서 실행 3
- 2010.09.18 ARM C Compiler
- 2010.09.15 환급금 조회
- 2010.08.24 [Source Insight] 개발 환경 설정 2
글
[Visual Studio] 환경 설정(개발 언어)
IDE/Visual Studio
2011. 1. 7. 14:25
Visual Studio 를 처음 설치하고, 실행을 할 때 사용언어를 선택하여 그에 맞는 환경을 갖추게 되는데 나중에 다른 언어를 사용하게 되면 바꾸고 싶을 때가 있는데 아래와 같이 하면 됩니다.
1. 아래와 같이 Toos > Import and Export Settings 를 선택한다.
2. Reset all settings 를 선택한다.
3. 원하는 언어환경을 설정한다.
끝... :)
'IDE > Visual Studio' 카테고리의 다른 글
Visual Studio 개발환경 설정 (0) | 2010.03.08 |
---|---|
vs( visual studio )9 전처리기 정의 설정 (0) | 2009.08.21 |
[ Tip ] VisualStudio 단축키 설정 (1) | 2009.07.02 |
[ Tip ] Visual Studio & AssistX 단축키 (0) | 2009.06.07 |
글
2011년 블로그 목표
카테고리 없음
2011. 1. 7. 11:37
개인 개발 및 정보 공유를 위해, 프로그래밍 관련해서 주당 하나의 포스팅을 하고,
개인 공부 한것은 정리하여 2주에 하나의 포스팅.
독서는 한달에 최소 하나의 포스팅을 할 것이다.
개인 공부 한것은 정리하여 2주에 하나의 포스팅.
독서는 한달에 최소 하나의 포스팅을 할 것이다.
글
[C++] 동적바인딩( Dynamic binding )
Programming/C++ Language
2011. 1. 3. 15:53
virtual 함수에 대해서 이야기를 해보겠습니다.
많은 개발자들이 상속을 사용하면서, virtual 함수도 많이 사용을 하게 되는데 virtual 함수를 사용함에 있어 실수 할 수도 있을 부분에 대해서 말해보겠습니다.
bool compare_garades( Core c1, Core c2 )
{
return c1.grade() < c2.grade();
}
위와 같은 코드가 있고, Core라는 Base class가 있고, grade라는 virtual 함수가 있고, Core를 상속받는 Grad 라는 클래스가 있고, Grad 클래스는 grade함수를 오버라이드하여 재정의를 했다는 것을 전제 조건으로 설명하겠습니다.
실행할 virtual 함수를 런타임에 선택하는 것은 그 함수가 레퍼런스나 포인터를 통해 호출 될 때에만 가능한 것입니다. 하지만 객체 자체에 대한 virtual 함수를 호출하면 컴파일 시에 그 객체의 정확한 타입을 결정할 수 있습니다. 따라서 위와 같은 경우, Core라는 객체의 정확한 타입을 알수 있기 때문에 c1과 c2에 실제로 Grad함수가 전달이 되더라도, 매개변수가 객체에 대한 레퍼런스가 아니라, 객체 그 자체이므로 Grad객체의 Core파트만 잘라내어 그에 대한 복사본이compare_grades 함수의 매개변수로 전달이 되게 됩니다. 즉, 정적 바인딩이 수행되는 것입니다.
출처 : Accelerated C++
많은 개발자들이 상속을 사용하면서, virtual 함수도 많이 사용을 하게 되는데 virtual 함수를 사용함에 있어 실수 할 수도 있을 부분에 대해서 말해보겠습니다.
bool compare_garades( Core c1, Core c2 )
{
return c1.grade() < c2.grade();
}
위와 같은 코드가 있고, Core라는 Base class가 있고, grade라는 virtual 함수가 있고, Core를 상속받는 Grad 라는 클래스가 있고, Grad 클래스는 grade함수를 오버라이드하여 재정의를 했다는 것을 전제 조건으로 설명하겠습니다.
실행할 virtual 함수를 런타임에 선택하는 것은 그 함수가 레퍼런스나 포인터를 통해 호출 될 때에만 가능한 것입니다. 하지만 객체 자체에 대한 virtual 함수를 호출하면 컴파일 시에 그 객체의 정확한 타입을 결정할 수 있습니다. 따라서 위와 같은 경우, Core라는 객체의 정확한 타입을 알수 있기 때문에 c1과 c2에 실제로 Grad함수가 전달이 되더라도, 매개변수가 객체에 대한 레퍼런스가 아니라, 객체 그 자체이므로 Grad객체의 Core파트만 잘라내어 그에 대한 복사본이compare_grades 함수의 매개변수로 전달이 되게 됩니다. 즉, 정적 바인딩이 수행되는 것입니다.
출처 : Accelerated C++
'Programming > C++ Language' 카테고리의 다른 글
typeid 키워드 (0) | 2014.04.15 |
---|---|
Unique Pointer (0) | 2014.03.03 |
[C++] this 포인터 사용하기 (0) | 2010.07.31 |
[C++] 참조 변수 (1) | 2010.07.31 |
[C++] 참조 반환 (0) | 2010.07.31 |
글
[EXCEL] OFFSET 함수
Tools/Excel
2010. 10. 17. 19:08
OFFSET 함수는 5개의 인자로 구성이 된다.
첫 번째 인자는 참조영역의 범위
두 번째 인자는 참조 영역의 첫 행과 출력할 영역의 첫 행 사이의 간격
세 번째 인자는 참조 영역의 첫 열과 출력할 영역의 첫 열 사이의 간격
네 번째 인자는 출력하려는 참조 영역의 높이(행 수)
다섯 번재 인자는 출력하려는 참조 영역의 너비(열 수)
따라서, 두/세 번째 인자가 참조 영역을 기준으로, 출력할 영역의 상대적인 좌표가 된다.
그리고 네/다섯 번째 인자는 출력할 영역의 범위를 나타낸다.
첫 번째 인자는 참조영역의 범위
두 번째 인자는 참조 영역의 첫 행과 출력할 영역의 첫 행 사이의 간격
세 번째 인자는 참조 영역의 첫 열과 출력할 영역의 첫 열 사이의 간격
네 번째 인자는 출력하려는 참조 영역의 높이(행 수)
다섯 번재 인자는 출력하려는 참조 영역의 너비(열 수)
따라서, 두/세 번째 인자가 참조 영역을 기준으로, 출력할 영역의 상대적인 좌표가 된다.
그리고 네/다섯 번째 인자는 출력할 영역의 범위를 나타낸다.
<항목설정 SHEET>
<1月 SHEET>
MATCH예제와 같이 위의 그림이 있고, =MATCH('1月'!C22,내역대항목,0)-1 함수가 "매치"라는 이름
으로 정의가 되어 있다.
=OFFSET(항목설정!$B$2,1,매치,15,1) 을 하게 되면, 항목설정의 $B2$2 가 참조 영역이 되고, 상대 좌표는 바로 아래 행이며, 열은 매치되는 열 좌표가 되고, 그 범위는 행으로 15, 열로 1이 된다.
따라서 "내역대항목"에서 일치하는 하나의 항목아래 부터해서 15개의 항목이 나타나는 것이다.
으로 정의가 되어 있다.
=OFFSET(항목설정!$B$2,1,매치,15,1) 을 하게 되면, 항목설정의 $B2$2 가 참조 영역이 되고, 상대 좌표는 바로 아래 행이며, 열은 매치되는 열 좌표가 되고, 그 범위는 행으로 15, 열로 1이 된다.
따라서 "내역대항목"에서 일치하는 하나의 항목아래 부터해서 15개의 항목이 나타나는 것이다.
'Tools > Excel' 카테고리의 다른 글
[EXCEL] MATCH 함수 (0) | 2010.10.17 |
---|---|
[Excel] 이름 정의 (0) | 2010.10.12 |
[excel] 다양한 엑셀 데이터 다루기 (0) | 2010.04.05 |
글
[EXCEL] MATCH 함수
Tools/Excel
2010. 10. 17. 18:08
MATCH 함수는 3개의 인자로 구성된다.
첫 번째 인자는 찾을 값
두 번째 인자는 찾을 범위
세 번째 인자는 찾는 방식인데 0 : 정확히 일치하는 값을 찾음
위와 같이 데이터가 있는데, B2:P2 까지 "내역대항목"으로 이름을 지정해 놓았다. MATCH 함수로 "내역대항목" 범위에서 몇 번째 있는지를 구할 것이다.
D19에 보면 1이라고 나와있는데, 이는 C22의 수입 값을 "내역대항목"에서 찾아서 나온 값이다.
MATCH( C22, 내역대항목, 0 ) 을 하게되면, 내역대항목에서 첫번째 항목이므로 1 이 나오는 것이다.
첫 번째 인자는 찾을 값
두 번째 인자는 찾을 범위
세 번째 인자는 찾는 방식인데 0 : 정확히 일치하는 값을 찾음
1 : 작거나 같은 값 중에 가장 큰 값을 찾음
-1 : 크거나 같은 값 중에 가장 작은 값을 찾음
-1 : 크거나 같은 값 중에 가장 작은 값을 찾음
위와 같이 데이터가 있는데, B2:P2 까지 "내역대항목"으로 이름을 지정해 놓았다. MATCH 함수로 "내역대항목" 범위에서 몇 번째 있는지를 구할 것이다.
D19에 보면 1이라고 나와있는데, 이는 C22의 수입 값을 "내역대항목"에서 찾아서 나온 값이다.
MATCH( C22, 내역대항목, 0 ) 을 하게되면, 내역대항목에서 첫번째 항목이므로 1 이 나오는 것이다.
'Tools > Excel' 카테고리의 다른 글
[EXCEL] OFFSET 함수 (0) | 2010.10.17 |
---|---|
[Excel] 이름 정의 (0) | 2010.10.12 |
[excel] 다양한 엑셀 데이터 다루기 (0) | 2010.04.05 |
글
[Excel] 이름 정의
Tools/Excel
2010. 10. 12. 23:53
특정 범위를 지정하거나, 특정 수식을 저장할 때 이름정의를 통해서
마치 코딩할 때 매크로 처럼 또는 함수 처럼 사용을 할 수 있다.
아래와 같이 "이름정의"버튼을 누르자.
"이름정의"를 누르면 아래와 같이 이름을 정의하는 다이얼로그가 뜬다.
이름은 함수이름이나 매크로 정의 하듯이 적절한 이름을 쓰고, 범위는 이 이름이 사용될 수 있는 범위
를 말하는데, 통합 문서로 하게 되면 어떤 탭에서든 이 이름을 사용할 수 있게 된다.
"참조 대상"은 특정탭의 범위를 지정할 수도 있고, 아니면 특정 함수를 만들어서 셀에서 이 이름
만을 가지고도 사용할 수 있다. ex ) 셀에서 =식비 또는 함수에서 식비를 이용하여 합을 구하거나 할 수
있다.
마치 코딩할 때 매크로 처럼 또는 함수 처럼 사용을 할 수 있다.
아래와 같이 "이름정의"버튼을 누르자.
"이름정의"를 누르면 아래와 같이 이름을 정의하는 다이얼로그가 뜬다.
이름은 함수이름이나 매크로 정의 하듯이 적절한 이름을 쓰고, 범위는 이 이름이 사용될 수 있는 범위
를 말하는데, 통합 문서로 하게 되면 어떤 탭에서든 이 이름을 사용할 수 있게 된다.
"참조 대상"은 특정탭의 범위를 지정할 수도 있고, 아니면 특정 함수를 만들어서 셀에서 이 이름
만을 가지고도 사용할 수 있다. ex ) 셀에서 =식비 또는 함수에서 식비를 이용하여 합을 구하거나 할 수
있다.
'Tools > Excel' 카테고리의 다른 글
[EXCEL] OFFSET 함수 (0) | 2010.10.17 |
---|---|
[EXCEL] MATCH 함수 (0) | 2010.10.17 |
[excel] 다양한 엑셀 데이터 다루기 (0) | 2010.04.05 |
글
[Window 7] Office 프로그램( 파워포인트, 엑셀 ) 여러 창에서 실행
Computer
2010. 9. 27. 00:18
아래의 압축파일을 다운 받아서, 압축을 풀고 PPCORE.DLL 파일을 C:\Program Files\Microsoft Office\Office12 에 복사를 하면 된다. 파일을 복사 하기전에, 원본 파일은 백업해두도록 하자.
이제 실행을 해보면, 여러개의 창으로 실행이 될 것이다.
'Computer' 카테고리의 다른 글
VIA 랜카드 드라이버 다운로드 사이트 (0) | 2011.04.12 |
---|---|
윈도우 7 정품 인증 (0) | 2010.07.25 |
컴퓨터 최적화 레지스트리 (0) | 2010.06.16 |
XP 서비스팩 3 다운 받는 곳 (0) | 2010.01.21 |
Microsoft Office Outlook을 시작할 수 없습니다. Outlook 창을 열 수 없습니다. (1) | 2009.12.02 |
글
ARM C Compiler
Programming
2010. 9. 18. 16:48
The ARM C Compiler
armcc
SYNOPSIS
armcc [options] sourcefile ...
DESCRIPTION
The ARM C compiler is a mature, industrial-strength com- piler, based on Codemist Ltd's multi-target, multi- language compiler suite (also known as the Norcroft C com- piler). By default the ARM C compiler compiles ANSI C as defined by American National Standard for Information Systems - Programming Language C, X3J11/90-013, Feb 14, 1990. The ARM C compiler also has a pcc mode, which accepts the dialect of C used by Berkeley Unix. In this mode the com- piler has been used to build a complete ARM-based Unix system (the RISCiX system). For more background about the ARM C Compiler, and for rec- ommended reading for C programmers, as well as full tech- nical information on the ARM C Compiler see "The ARM C Compiler" of the Reference Manual.
OPTIONS
By default, the C compiler looks for source files, and creates object, assembler and listing files, in the cur- rent directory. Many aspects of the compiler's operation can be controlled via command-line options. All options are prefixed by a minus sign. There are two classes of option: keywords and flags. Key- words are recognised in upper case or lower case. A flag is a single letter, the case of which is sometimes impor- tant to the ARM C compiler. Because some systems (such as Unix) are very case sensitive, the case of flags is most important when you are building portable makefiles. By using the conventions common to many C compilers, you can move a makefile between different environments at minimum cost. Keyword Options -help Give a summary of the compiler's command line options. -pcc Compile (BSD 4.2) portable C compiler C. This dialect is based on the original Kernighan and Ritchie (K&R) definition of C, and is the one used on Unix systems. The -pcc keyword alters the lan- guage accepted by the compiler, but the built-in ANSI headers are still used. For more details on this, see section "PCC Compatibility Mode" of the Be extra strict about enforcing conformance to the ANSI standard or to pcc conventions (e.g. prohibit the volatile qualifier in -pcc mode). -list Create a listing file. This consists of lines of source interleaved with error and warning messages. Finer control over the contents of this file may be obtained using the -f flag (see"Controlling Addi- tional Compiler Features" starting on page13). -littleend or -li Compile code for an ARM operating with little- endian (least significant byte has lowest address) memory. -bigend or -bi Compile code for an ARM operating with big-endian (most significant byte has lowest address) memory. By default, the ARM C compiler compiles code with the same byte order as the host system. However, most releases of the ARM C compiler, for most hosts, allow this default to be configured when the compiler is installed, so it is not usually neces- sary to use either of these options (see "The ARM Tool Reconfiguration Utility (reconfig)" for more information). -apcs [3]qualifiers Specify which variant of the ARM Procedure Call Standard is to be used by the compiler. The default is set up when armcc is configured, and for ease of use can be reconfigured using the reconfig tool - see "The ARM Tool Reconfiguration Utility (reconfig)" for details. Alternatively the default can be changed by use of this keyword option. At least one qualifier must be present, and there must be no space between qualifiers. The following qualifiers are permitted: /26[bit] 26 bit APCS variant. /32[bit] 32 bit APCS variant. /reent[rant] Reentrant APCS variant. /nonreent[rant] Non reentrant APCS variant. Software stack checking APCS variant. /noswst[ackcheck] No software stack checking APCS vari- ant. /fpe2 Floating point emulator 2 compatibil- ity. /fpe3 Floating point emulator 3 compatibil- ity. /fpr[egargs] F.P. arguments passed in FP. registers. /nofpr[egargs] F.P. arguments are not passed in F.P. registers For details of the various APCS variants see "ARM Procedure Call Standard" starting on page 38 of the Technical Specifications. Flag Options The flag options are listed below. Some of these are fol- lowed by an argument. Whenever this is the case, the ARM C compiler allows white space to be inserted between the flag letter and the argument. However, this is not always true of other C compilers, so in the following subsections we only list the form that would be acceptable to a Unix C compiler. Similarly, we only use the case of the letter that would be accepted by a Unix C compiler. The descrip- tions are divided into several subsections, so that flags controlling related aspects of the compiler's operation are grouped together. Controlling the linker -c Do not perform the link step. This merely compiles the source program(s), leaving the object file(s) in the current directory (or as directed by the -o flag). This is different from the -C option described in"Preprocessor Flags" starting on page9. Preprocessor Flags -Idirectory-name This adds the specified directory to the list of places which are searched for included files (after the in-memory or source file directory, according to the type of include file). The directories are searched in the order in which they are given by multiple -I options. See "Included Files" of the Reference Manual for full details. directory-list is a comma separated list of search directories. This option adds the list of directo- ries specified to the end of the search path (ie. after all directories specified by -I options), but otherwise in the same way as -I. However, it also has the side effect of stopping system include files being searched for in the in- memory filing system before all other searches. Instead the in-memory filing system is searched for system include files only after all other searches have failed. Note that the in-memory filing system can be speci- fied in -I and -j options by :mem. This is an ARM-specific flag and is not portable to other C systems. There may be at most one -j option on a command line. See "Included Files" starting on page61 of the Reference Manual for full details. -E If this flag is specified, only the preprocessor phase of the compiler is executed. The output from the preprocessor is sent to the standard output stream. It can be redirected to a file using the stream redirection notations common to Unix and MS- DOS (e.g. armcc -E something.c > rawc By default, comments are stripped from the output, (but see -C flag, below). -C When used in conjunction with -E above, -C retains comments in preprocessor output. It is different from the -c flag, which is used to suppress the link operation. -M If this flag is specified, only the preprocessor phase of the compiler is executed (as with armcc -E) but the only output produced is a list, on the standard output stream, of makefile dependency lines suitable for use by a make utility. This can be redirected to a file using standard Unix/MS-DOS notation. For example: armcc -M xxx.c >> Makefile. -Dsymbol=value Define symbol as a preprocessor macro, as if by a line #define symbol value at the head of the source file. Define symbol as a preprocessor macro, as if by a line #define symbol at t he head of the source file. -Usymbol Undefine symbol, as if by a line #undef symbol at the head of the source file. Controlling Code Generation -gLetters This flag is used to specify that debugging tables for use by the ARM Source Level Debugger (armsd) should be generated. It is followed by an optional set of letters which specify the level of informa- tion required. If no letters are present then all the information possible is generated. However, the tables can occupy large amounts of memory so it is sometimes useful to limit what is included as fol- lows. -gf Generate information on functions and top-level variables (those declared outside of functions) only. -gl Generate information describing each line in the source file(s). -gv Generate information describing all variables. The last three modifiers may be specified in any combination, e.g. -gfv. -o file The argument to the -o flag gives the name of the file which will hold the final output of the compi- lation step. In conjunction with -c, it gives the name of the object file; in conjunction with -S, it gives the name of the assembly language file. Oth- erwise, it names the final output of the link step. -Ospace Perform optimisations to reduce image size at the expense of increased execution time. -Otime Perform optimisations to reduce execution time at the expense of a larger image. -p and -px The -p flag makes the compiler generate code to count the number of times each function is exe- cuted. If -px is given, the compiler also generates cific to ARM C, though -p is widely used by other C systems to request profiling. At the end of a program run, the counts can be printed to stderr by calling the ARM C library function _mapstore(), or to a named file of your choice by calling _fmapstore("filename"). The printed results are lists of lineno, count pairs. The lineno value is the number of a line in your source code, and count is the number of times it was executed. Note that lineno is ambiguous: it may refer to a line in an included file, but this is rare and usually causes no confusion. Provided that the program wasn't compiled with the -ff option, blocks of counts will be interspersed with function names. In the simplest case the out- put is reduced to a list of line pairs like: function-name lineno: count where count is the number of times the function was executed. If -px was used, the lineno values within each function relate to the start of each basic block. Sometimes, a statement (such as a for statement) may generate more than one basic block, so there can be two different counts for the same line. Profiled programs run slowly. For example, when compiled -p, Dhrystone 1.1 runs at about 5/8 speed; when compiled -px it runs at only about 3/8 speed. There is no direct way to relate these execution counts to the amount, or proportion, of execution time spent in each section of code. Nor is there yet any tool for annotating a source listing with profile counts. Future releases of ARM C may address these issues. -S If the -S flag is specified, no object code is gen- erated but a listing of the equivalent assembly language is written to a file. By default, the file is call ed name.s in the current directory (where name.c is the name of the source file stripped of any leading directory names). The default can be overridden using the -o flag (see above). -via file it. This is intended mainly for hostings (such as the PC) where command line length is severely lim- ited. Controlling Warning Messages -WLetters The -W option controls the suppression of warning messages. Usually the compiler is very free with its warnings, as these tend to indicate potential portability problems or other hazards. However, too many warning messages can be a nuisance in the early stages of porting a program written in old- style C, so warnings can disabled. -W If no modifier letters are given, then all warnings are suppressed. If one or more letters follow the flag, then only the warnings controlled by those letters are suppressed. -Wa Give no "Use of = in a condition context" warning. This is given when the compiler encounters a state- ment such as: if (a = b) {... where it is quite possible that the author really did intend if ((a = b) != 0) {... and also plausible that the author intended if (a == b) {... but missed a key stroke. In new code, the deliber- ate use of the needlessly dangerous if (a = b) ..., should be avoided. This warning is also suppressed in -pcc mode. -Wd Give no "Deprecated declaration foo() - give arg types" message, given when a declaration without argument types is encountered in ANSI mode (the warning is suppressed anyway in -pcc mode). In ANSI C, declarations like this are deprecated and a future version of the C standard may ban them. They are already illegal in C++. However, it is sometimes useful to suppress this warning when porting old code. -Wf Give no "Inventing extern int foo()" message, which may be useful when compiling old-style C in ANSI warning is issued when the compiler detects the implicit narrowing of a long expression in an int or char context, or the implicit narrowing of a floating point expression in an integer or narrower floating point context. Such implicit narrowings are almost always a source of problems when moving code developed using a fully 32-bit system (such as ARM C) to a C system in which ints occupy 16 bits and longs 32 bits (as is common on the IBM PC, Apple Macintosh, etc.). -Wv Give no "Implicit return in non-void context" warn- ing. This is most often caused by a return from a function which was assumed to return int (because no other type was specified) but is in fact being used as a void function. Because the practice is widespread in old-style C, the warning is sup- pressed in -pcc mode. Controlling Additional Compiler Features -zpLetterDigit This flag can be used to emulate #pragma direc- tives. The letter and digit which follow it are the same characters that would follow the '-' of a #pragma directive. See the section "Pragma Direc- tives" of the Reference Manual for details. -zrNumber This flag allows the size of (most) LDMs and (all) STMs to be controlled between the limits of 3 and 16 registers transferred. This can be used to help control interrupt latency where this is critical. -fLetters The -f flag described in this section controls a variety of compiler features, including certain checks more rigorous than usual. Like the -W flag it is followed by a string of modifier letters. At least one letter is required, though several may be given at once, for example, -ffah. -fa Check for certain types of data flow anomalies. The compiler performs data flow analysis as part of code generation. The checks enabled by this option indicate when an automatic variable could have been used before it has been assigned a value. The check is pessimistic and will sometimes report an anomaly where there is none, especially in code like the following: int initialised = 0, value; ... value = ...; initialised = 1; Here, we know that value is read if, and only if, initialised has been set (but in general, the argu- ment may be delicate). As this is a semantic deduc- tion, not a data flow implication, -fa will report an anomaly. In general, it is useful to check all code using -fa at some stage during its development. -fc Enable the "limited pcc" option, designed to sup- port the use of pcc-style header files in an other- wise strict ANSI mode (e.g. when using libraries of functions implemented in old-style C from an appli- cation written in ANSI C). This allows characters after #else and #endif preprocessor directives (which are ignored). The "limited pcc" option also supports system pro- gramming in ANSI mode by suppressing warnings about explicit casts of integers to function pointers, and permitting the dollar character in identifiers, (linker-generated symbols often contain "$$" and all external symbols containing "$$" are reserved to the linker). -fe Check that external names used within the file are still unique when reduced to six case-insensitive characters. Some (now very old) linkers support as few as six significant characters in external sym- bol names. This can cause problems with clashes if a system uses two names such as getExpr1 and get- Expr2, which are only unique in the eighth charac- ter. The check can only be made within a single compilation unit (source file) so cannot catch all such problems. ARM C allows external names of up to 256 characters, so this is strictly a portability aid. -ff Do not embed function names in the code area. The compiler does this to make the output produced by the stack backtrace run time support function and the _mapstore() function (see "-p and -px") more readable. Removing the names from the compiler itself makes the code slightly smaller (about 5%). In general it is not useful to specify -ff with -p. -fh Check that all external objects are declared before use and that all file scoped static objects are used. If external objects are only declared in included header files (never in-line in a C source -fi In the listing file (see "-list") list the lines from any files included with directives of the form: #include file -fj As above, but for files included by lines of the form: #include <file> -fk Use K&R search rules for locating included files (the current place is defined by the original source file and is not stacked; see section "The Search Path" starting on page61 of the Reference Manual for details). -fm Report on preprocessor symbols defined but not used during the compilation. -fp Report on explicit casts of integers into pointers, e.g. char *cp = (char *) anInteger; (Implicit casts are reported anyway, unless sup- pressed by the -Wc option). -fu By default, if -list is specified, the compiler lists the source text as seen by the compiler after preprocessing. If -fu is specified then the unex- panded source text, as written by the user, is listed. For example, consider the line: p = NULL; /* assume NULL defined to be (0) */ By default, this will be listed as p = (0); with -fu specified, as p = NULL;. -fv Report on all unused declarations, including those from standard headers. -fw Allow string literals to be writeable, as expected by some Unix code, by allocating them in the pro- gram's data area rather than the notionally read- only code area. Note that this also prevents the re-use by the compiler of a multiple, occurring string literal. When writing high-quality production software, you diagnostics produced can be annoying in the earlier stages).
SEE ALSO
armlink(1), reconfig(1), armsd(1) Reference Manual, Technical Specifications
출처 : http://www.cl.cam.ac.uk/teaching/1998/CompDesn/fromlecturer/htmlman/armcc.html
'Programming' 카테고리의 다른 글
[makefile]commands commence before first target 에러 (0) | 2010.07.07 |
---|---|
세마포어( Semaphore ) (1) | 2010.05.31 |
Event-driven programming (0) | 2010.05.31 |
undefined reference (0) | 2010.03.26 |
XML 이란? (0) | 2010.03.26 |
글
[Source Insight] 개발 환경 설정
IDE/Source Insight
2010. 8. 24. 10:48
눈에 피로를 덜 주도록, 아래와 같이 개발 환경을 설정해 보자.
1. 아래 파일을 다운로드하여, "내문서 > Source Insights > Settings" 에 복사한다.
2. Options > Load Configuration 을 선택.
3. Load 버튼을 클릭
4. 해당 스타일 파일을 선택하여 열기 한다. ( 내문서 > Source Insight > Settings )
1. 아래 파일을 다운로드하여, "내문서 > Source Insights > Settings" 에 복사한다.
2. Options > Load Configuration 을 선택.
3. Load 버튼을 클릭
4. 해당 스타일 파일을 선택하여 열기 한다. ( 내문서 > Source Insight > Settings )
'IDE > Source Insight' 카테고리의 다른 글
[Source Insight] 사용법 (0) | 2010.08.23 |
---|