Programming2015. 10. 31. 02:46

C++는 예전에 배웠던 사람은 이해하기 힘들정도로 이제 완전 새로운 언어가 되어버렸다.


C++11 ; 가장 극적으로 많이 변했음

C++14

C++17

-------------

http://en.cppreference.com/w/cpp

C++ reference

--------------

http://en.cppreference.com/w/cpp/compiler_support

major c++ compiler

  1. GCC
  2. Clang
  3. MSVC

Clang은 Apple이 주도하고 Google,MS,Intel,ARM,Sony가 참여하는 거대 open source project. Clang은 compiler front end라고 하고 back end는 LLVM을 쓴다고 함. 나도 무슨 말인지 모름. ^^ LLVM(Low Level Virtual Machine)이니까 LLVM위에 올라가는 compiler라는 뜻인듯.

https://en.wikipedia.org/wiki/Clang


--------------

GCC download 받을 곳

  1. cygwin
  2. minGW
  3. Equation - http://www.equation.com/servlet/equation.cmd?fa=fortran

MingGW는 http://www.mingw.org/나 sourceforge 말고 아래 사이트를 이용.

MinGW Distro

http://nuwen.net/mingw.html

----------------

MinGW w64

http://mingw-w64.org/doku.php


--------------

https://msdn.microsoft.com/en-us/library/3bstk3k5.aspx

http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx

MS는 CPP compiler지원과 std library지원에 있어서 역시나 자신만의 길을 걷는다. 나쁜 세끼들. 표준에 따르지.

#ifdef _MSC_VER
// disable _s warnings
#define _CRT_SECURE_NO_WARNINGS
// disable pragma warnings
#pragma warning( disable : 4068 )
// standard function missing from MS library
#include 
int vasprintf(char ** ret, const char * format, va_list ap);
#else
#define _NOEXCEPT noexcept
#endif

-------------

virtual, vtable, c++ vs c

http://www.eventhelix.com/RealtimeMantra/basics/ComparingCPPAndCPerformance2.htm#.Vju4c7NVhBc


-------------

왜 C++는 optimazation에서 불리할까?

Inheritance - copy unnecessary codes

vtable - 

template - compiler generated codes for all possible types 

-------------

http://en.cppreference.com/w/cpp/language/cv

Appear in any type specifier, including decl-specifier-seq of declaration grammar, to specify constness or volatility of the object being declared or of the type being named.

  • const - defines that the type is constant.
  • volatile - defines that the type is volatile.
  • mutable - applies to non-static class members of non-reference non-const type and specifies that the member does not affect the externally visible state of the class (as often used for mutexes, memo caches, lazy evaluation, and access instrumentation). mutable members of const classes are modifiable. (Note: the C++ language grammar treats mutable as a storage-class-specifier, but it does not affect storage class.)

-------------

http://www.cplusplus.com/reference

C Library

The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions:


Containers

-------------


-------------


-------------

'Programming' 카테고리의 다른 글

Hard core Embedded Programming - no printf() sprintf()  (0) 2015.11.19
Test Driven Development for Embedded C  (0) 2015.11.18
C언어 레퍼런스  (0) 2015.10.25
Eclipse for C/C++  (0) 2015.10.17
Python - Lottery number generator  (0) 2015.10.15
Posted by 쁘레드