タグ

C++に関するryouzoのブックマーク (9)

  • gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント

    しかし、ブレークポイントという機能はデバッガの手助けなしでは実現できません。 ブレークポイントとはプログラムの強制一時停止を行うポイントで、実行中のプログラムがブレークポイントに遭遇するとプログラムは一時停止され、デバッガによるプログラムへの介入を行えるようになります。 ブレークポイントは次のような場所に設定できます。 指定した行番号のプログラムを実行しようとする瞬間 関数を呼び出した瞬間 その他、C++などでは「例外が発生した瞬間」などにもブレークポイントを設定することができます。 行番号ブレーク ブレークポイントとしてよく使用されるのは、「プログラムの特定の位置」です。 例として、bubblesort.cプログラムのsort関数内で、隣り合う二つの要素を比較している箇所にブレークポイントを設定してみます。 25|/* bubble sort */ 26|void sort(int *a

  • 大学院生のためのLLVM | POSTD

    (注:2017/07/06、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、 LLVM コンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。 LLVMとは何か? LLVMは非常に優れていて、ハックしやすく、C言語やC++のような”ネイティブ”言語向けの、時代の先端を行くコンパイラです。 LLVMの素晴らしさに関しては他にも様々な話を聞くのではないでしょうか(JITコンパイラとしても使えるとか、C言語系列以外の様々な言語を強化できるとか、 App Storeからの新しい配信形態 であるとか、などなど)。もちろん全部当のことですが、今回の記事の目的としては、上述の定義が重要です。 LLVMが他のコンパイラと差別化される理由には、いくつかの大きな

  • C言語のプリプロセスのメモ(Hishidama's C pre-process Memo)

    S-JIS[2006-10-30] プリプロセッサ処理 C言語の特徴のひとつに、ソースの前処理(プリプロセス)というものがある。 これは、コンパイラーがコンパイルを行う前に、プリプロセッサがプリプロセッサ命令(「#」で始まるコマンド等)を処理するもの。いわゆる「マクロ」の展開。 とても便利で強力な機能だが、下手に使うとソースがどう展開されるかさっぱり分からないことになってしまうので要注意。 プリプロセッサ命令は、基的に「#」で始まり、行末で終わる。(通常のC言語の構文では、行末かどうかは無関係だが) 「#」と命令の間にはスペースを入れてもよい。 複数行にまたがるプリプロセッサ命令を書きたい場合は、行の継続記号として、行末に「\」を置く。 また、コメントを処理(ソースから削除)するのもプリプロセッサの仕事。 gccなら「-E」オプション、VC++なら「/E」オプションを付けることにより、プ

  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ

    コンパイラを作ってみたいと思っていても、アセンブリ言語はよくわからない。 パーサーみたいなコードは書いたことがあるけれど、コード生成の処理はさっぱりだ。 実行ファイルをバイナリエディターで見るとかなにそれ怖い。 そんな私なのですが、LLVMに興味を持ち始めています。 SwiftRust、あるいはEmscriptenなど、近年注目されている言語やコンパイラ技術の中枢にはLLVMがあります。 アセンブリはよく分からなくてもLLVMを使いこなせるようになれば、マルチプラットフォームで実行ファイルを生成できる言語処理系を作るのではないか。 コンパイラ作ってみたいな、LLVMを使ってみようかなと思っている今日このごろです。 ところが、いざLLVMを勉強しようと思ってもどこから始めればいいかよく分かりませんでした。 マニュアルは巨大で読む気が起きないし、リファレンスを見てもさっぱりです。 雰囲気はわ

    LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ
  • ロベールのC++教室

  • ロベールのC++教室

  • C++11: Syntax and Feature

    C++11の文法と機能(C++11: Syntax and Feature) Copyright (C) 2013 江添亮. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GN

  • 初心者 C++er Advent Calendar 2015 - Adventar

    このカレンダーは C++er 初心者が、もしくはすごい人が初心者向けの記事を書くゆるふわなアドベントカレンダーです。 C++ Advent Calendar 2015とどちらに書けばいい? このアドベントカレンダーは C++er 初心者が記事を書くため、もしくは C++er 初心者のために書く記事を対象としたアドベントカレンダーになります。 それ以外の記事を書きたい方は C++ Advent Calendar 2015 にお願いします。 ルール 初心者向けで C++ に関連していれば技術レベルやライブラリ、分野などは気にしないで書いてもらって構いません。 もちろん、初心者の方も『わたし C++ できないから…』と思わずに好きに書いてもらって構いません。 記事に関してはなるべく担当日中に公開できるようにお願いします。

    初心者 C++er Advent Calendar 2015 - Adventar
    ryouzo
    ryouzo 2016/12/07
  • 1