E D R , A S I H C RSS

BackLinks search for "C"

BackLinks of C


Search BackLinks only
Display context of search results
Case-sensitive searching
  • C++
         {{|[[TableOfContents]]|}}
         = C++ =
         C++ (pronounced "see plus plus") is a general-purpose computer programming language. It is a statically typed free-form multi-paradigm language supporting procedural programming, data abstraction, object-oriented programming, and generic programming. During the 1990s, C++ became one of the most popular commercial programming languages.
         Bell Labs' Bjarne Stroustrup developed C++ (originally named "C with Classes") during the 1980s as an enhancement to the C programming language. Enhancements started with the addition of classes, followed by, among many features, virtual functions, operator overloading, multiple inheritance, templates, and exception handling. The C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998, the current version of which is the 2003 version, ISO/IEC 14882:2003. New version of the standard (known informally as C++0x) is being developed.
         In C and C++, the expression x++ increases the value of x by 1 (called incrementing). The name "C++" is a play on this, suggesting an incremental improvement upon C.|}}
         C++은 범용성을 가진 컴퓨터 언어이다. 이는 정적으로 분류된(?) 다중 패라다임을 지원하는 언어이다. ( [:절차적프로그래밍 절차적 프로그래밍], [:GenericProgramming 제네릭 프로그래밍]을 지원한다.) 1990년대에 C++은 가장 상업적으로 인기가 있는 언어중의 하나가 되었다.
         벨 연구소의 [http://www.research.att.com/~bs/homepage.html Bjarne Stroustrup]은 1980년대에 당시의 [C]를 개선해 C++을 개발하였다. (본디 C with Classes라고 명명했다고 한다.) 개선된 부분은 클래스의 지원으로 시작된다. (수많은 특징들 중에서 [가상함수], [:연산자오버로딩 연산자 오버로딩], [:다중상속 다중 상속], [템플릿], [예외처리]의 개념을 지원하는) C++ 표준은 1998년에 ISO/IEC 14882:1998로 재정되었다. 그 표준안의 최신판은 현재 ISO/IEC 14882:2003로서 2003년도 버전이다. 새 버전의 표준안(비공식 명칭 [C++0x])이 현재 개발중이다. [C]와 C++에서 ++이라는 표현은 특정 변수에 1의 값을 증가시키는 것이다. (incrementing이라 함). C++이라는 명칭을 이와 동일한 의미를 갖는데, [C]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
          * [CPPStudy_2005_1]
          * [AcceleratedC++]
          * [RuminationOnC++]
          * [C++/CppUnit]
          * [Cpp에서의가변인자]
          * [C++/SmartPointer]
         [ProgrammingLanguage], [C++0x]
         [[include(틀:ProgrammingLanguage)]]
  • Go
         [Go] 또는 golang은 [google]에서 시작된 오픈 소스 프로그래밍 언어이다 (주의 : Go!와는 다름). [C]언어가 개발된 Bell Lab의 연구원 두명이 디자인에 참여한 탓인지 [C]의 영향을 받은 모습을 보인다.(Loosely derived from C). 문법이나 환경이 동적 언어와 유사하나 [C]의 영향을 받았으므로 [정적 언어](statically typed language)이다.
          * 컴파일이 빠르다 [http://www.youtube.com/watch?v=rKnDgT73v8s#t=8m53 소개영상]
         정식 페이지는 [http://golang.org/], 한국어 번역 튜토리얼 페이지는 [http://go-tour-kr.appspot.com/]
         [http://golang.org/ GoLang] [Gopher] [C] [Google] [StaticLanguage] [GDG Go]
         [[include(틀:ProgrammingLanguage)]]
  • HPCau
         [[TableOfContents]]
          * '''H'''igh '''P'''erformance '''C'''omputing '''/''' '''C'''hung-'''A'''ng '''U'''niversity
          * [HPC]([슈퍼컴퓨팅]) 공부 모임입니다.
          * 장기적으로 [OpenMP], [GPGPU]([CUDA])까지 진행할 예정입니다.
          * 프로그래밍 언어는 [C]를 이용합니다.
          * 초반에는 C를 이용한 MPI 병렬 프로그래밍 기초 이론을 실습합니다.
          * 후반기에 접어들면 OpenMP와 CUDA까지 다룰 예정입니다.
  • IDL
         [CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • LUA_6
         > mt = { __add = function(a,b) return { value = a.value + b.value } end } -- '+' 연산자에 대한 metatable을 작성
         __concat .. : string 연결 연산자
         > mt.__index = function(x,key)
         >> if key == 'copy_value' then return { value = x.value } end
         > new = x.copy_value
         > instance = { value = 0, set_value = function(self, value) self.value = value end }
         > instance.set_value(10) ---- self 가 없어서 에러가 발생
         stdin:1: attempt to index local 'self' (a number value)
         stack traceback:
          stdin:1: in function 'set_value'
          stdin:1: in main chunk
          [C]: ?
         > instance.set_value(instance,10) --- self에 자기 자신을 넣어서 OK
         > print(instance.value)
         > instance:set_value(20) --- ':'를 쓰면 self를 안써도 됨
         > print(instance.value)
         그럼 이제 class를 만들어 보겠습니다.
         class를 만들기 위한 페이지 http://lua-users.org/wiki/YetAnotherClassImplementation 추가로 링크 넣었습니다.
  • Objective-C
         [[include(틀:작성중)]]
         [[TableOfContents]]
         ''오브젝티브 씨''라고 읽으면 된다. 애칭은 ''옵씨''. 브래드 콕스(Brad Cox)와 톰 러브(Tom Love)가 만든, '''20세기의 걸작 언어 Jr.'''라고 생각하면 당신은 멋쟁이.
         안시(ANSI) [[C]]에 객체지향 층을 얹어 만들었다. 따라서 실행 시 반드시 런타임(libobjc.dylib 또는 objc.dll)의 도움을 받아야 작동 가능하다. 그렇다고 [[Java]]처럼 가상 기계(VM) 위에서 돌아가는 건 아니고, 객체 간의 통신을 담당하는 작은 라이브러리에 링크되어야 한다. 물론 이 런타임 라이브러리는 [http://opensource.apple.com/source/objc4/ 애플 오픈 소스 사이트]에 공개돼있으므로 '''능력이 있다면''' 얼마든지 정적 라이브러리로 만들어 붙여버려도 된다.
         초기의 옵씨는 C에서 [[wiki:"OOP" 객체지향]]을 지원하도록 문법을 확장한, 일종의 문법적 편의사항(syntactic sugar)으로 구현됐다. 옵씨 컴파일러는 옵씨 코드를 읽어 C 코드를 뱉었고, C 컴파일러가 그걸 바이너리로 어셈블했다. 하지만 넥스트(NeXT Inc.)가 옵씨를 집어삼킨 이후, 옵씨 코드에서 바로 바이너리로 직행하는 컴파일러가 나왔다. 이를 위해, 예전에는 GCC를 이용했지만 요즘은 애플 주도의 [[LLVM/Clang]]을 이용해 컴파일한다. 물론 오픈 소스 LLVM/Clang 3와 Apple LLVM/Clang 4 모두 옵씨 코드를 컴파일할 수 있지만, 닫힌 가지인 Apple LLVM/Clang 4가 훨씬 월등한 어셈블 능력을 보여준다고. 애초에 버전부터 차이나니까.
         여담으로 [[FreeBSD]] 재단에서 오픈 소스 LLVM/Clang 3를 다루던 사람이 [http://bsdtalk.blogspot.kr/2013/11/bsdtalk233-from-gcc-to-llvmclang-with.html 말하길], 참고삼아 [[GCC]] 4.2의 옵씨 담당 부분 소스 코드를 봤다가 기절할 뻔했다고. 무려 일만 줄이 넘어가는 '''단일''' C 파일 하나로 옵씨의 모든 걸 처리했단다. 이 GCC 확장에 대해서는 여러 루머가 있는데, 가장 유명한 걸 고려한다면 잡스가 빡쳐서 엿먹어라 하는 수준으로 GCC에 똥을 던진 듯.
         [[C]] 소스 코드는 곧 옵씨 소스 코드이다. 앞서 말했듯, 옵씨는 C에 확장을 얇게 바른 언어에 가깝다. 하지만 그렇다고 옵씨 소스 코드가 곧 C 소스 코드인 건 아니다.
         이 단에서는 옵씨만의 고유한 문법과 기호에 대해 설명하며, 이후 모든 설명에서는 ARC 사용을 기본적으로 가정한다.
         클래스 선언에 쓰이는 옵씨 고유의 문법은 {{{@interface}}} 명령과 {{{@end}}} 명령이다.
         {{{@interface}}} 명령은 선언하는 클래스의 이름과 상속하는 부모 클래스 이름, 그리고 쉼표로 구분된 준수할 프로토콜 이름의 목록을 인자로 받는다. 형식은 다음과 같다:
         @interface 클래스 이름 : 부모 클래스 이름 <준수할 프로토콜 이름 목록>
         {{{@end}}} 명령은 {{{@interface}}} 명령의 영역을 닫는다.
         @interface ParentClass1
         @interface ChildClass1: ParentClass1
         // 또 다른 뿌리 클래스이면서 동시에 Protocol1을 준수
         @interface ParentClass2 <Protocol1>
         // 또 다른 뿌리 클래스를 상속하면서 동시에 (상속받은) Protocol1과 Protocol2, Protocol3를 준수
         @interface ChildClass2: ParentClass2 <Protocol2, Protocol3>
         // 클래스 메서드. 반환형은 char *.
         +(char *)iTakeNoParameter;
  • ProgrammingLanguage
         [[include(틀:ProgrammingLanguage)]]
          * [MachineLangauge]
         === C 언어 가족 ===
          * [C] - .c
          * [C++] - .cc .cpp
          * [Objective-C] - .m
          * [Objective-C++] - .mm
          * [wiki:"CSharp" C#] .cs
          * [Javascript] - .js
          * [OCaml]
          * [Scala]
  • Servo
         Servo는 [렌더링 엔진]이고, [모질라]의 실험적인 프로젝트이다. 모질라는 Servo가 파이어폭스의 [Gecko]를 대체하는 프로젝트는 아니라는 입장이다. 기존 렌더링 엔진 [WebKit]이나, [Gecko]가 [C], [C++]로 작성되어 있지만, Servo는 [Rust]로 작성되고 있는 것이 특징이다.
  • Tip
         == C ==
         [C_Tip]
         == C++ ==
         [CPlusPlus_Tip]
         == C# ==
         [C#_]
  • 김정민
          minn6534@gmail.com
          [Angels Camp/2014/a Jeo Ssi] , [LA갈비] , [새싹교실/2014/다빈치인재반]
          [자알하자], [새싹교실/2015/양념반후라이드반(무많이)], [지능형모형차경진대회/2015], [던전에서클리어를추구하면안되는걸까], [AngelsCamp/2015], [난정말자바를공부한적이없다구요]
          [데블스캠프2015], [컴공주제에건방지다], [Algorithm Study/2015], [지금그때2015]TF, [엔진소리죽이는데/ZPisAnOpenDoor], [ACM_ICPC]2015 인터넷 예선, 제 1회 [SCPC]
          [LA], [caucsenotice], [Hearthstone-deck-trackerContribute]
          [UCPC]2018, [ACM_ICPC] 2018 Seoul Regional (Team name : ZzikMukMan)
  • 장기훈
         [[TableOfContents]]
          * [C]/[C++]
          * [JavaScript]
          * Qt (C++)
          * flask, flask-SocketIO
          * [https://github.com/leafmelt/directory2tree directory2tree (C++, Qt)]
          * [https://github.com/leafmelt/serene-namu-recent serene-namu-recent (Python, JS)]
          * [https://github.com/leafmelt/multi-room-chat multi-room-chat (Python, flask-SocketIO, JS, socket.io)]
  • 틀:ProgrammingLanguage
         ||<-10><align="center" style="border-width: 2px; background: #dddddd">'''언어의 종류'''||
         ||<-3><style="background: #eeeeee;">'''머신 친화적'''||<-7><style="background: #eeeeee">'''C가족'''||
         ||<-0>[MachineLangauge]||<-2>[Assembly]||[C]||[C++]||<-2>[Objective-C]||<-2>[Objective-C++]||씨앗||
         ||<-4><style="background: #eeeeee">'''[객체지향]'''||<-6><style="background: #eeeeee">'''함수형 언어'''||
         ||[SmallTalk]||[JAVA]||<-2>[wiki:"CSharp" C#]||<-2>[wiki:LispLanguage|Lisp]족||<-2>[wiki:"HaskellLanguage" Haskell]||<-2>[wiki:"Scala" Scala]||
         ||<-10><style="background: #eeeeee">'''스크립트언어'''||
         ||[JavaScript]||[CoffeeScript]||[Perl]||[Lua]||[PHP]||[Python]||[PyPy]||[Ruby]||[ShellScript]||[MATLAB]||
         ||<-10><style="background: #eeeeee">'''미분류'''||
         ||[Erlang]||[Go]||[J]||[OCaml]||[Scala]||[R]||[CSS]||[ML]||[Ada]||[Prolog]||
         ||[Scratch]||[Rust]||[less]||<-7> ||
Found 12 matching pages out of 7540 total pages

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:40
Processing time 0.0094 sec