タグ

c++に関するmtbtaizoのブックマーク (11)

  • C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター

    これまでにC/C++ セキュアコーディングセミナーで使用した講義資料を公開しています。2010年度にセミナを実施した、文字列、整数、動的メモリ管理、書式指定文字列、CERT C セキュアコーディングスタンダード、ROSE については、それぞれ最新版の資料を掲載しています。 文字列 ユーザとソフトウエア間に発生するデータのやりとりの大部分は文字列によって行われます。 また、プログラム間でのデータ交換も文字列形式で行われるようになり、その結果、文字列表現や文字列管理、文字列操作における弱点がソフトウエア脆弱性を生み出しています。 文字列では、C/C++ 言語における文字列操作、一般的なセキュリティ上の欠陥と、その結果発生する脆弱性と対処方法について解説します。 C/C++ における文字列の特性 犯しやすい文字列操作の間違い 文字列の脆弱性 プロセスのメモリ構成 スタック破壊の仕組み コードイン

    C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター
  • C++ のプログラムのデバッグを楽にする方法

    Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な

    C++ のプログラムのデバッグを楽にする方法
  • Part6 C の難関を克服せよ - C/C は永久に不滅です!:ITpro

    どんなプログラミング言語でも,学習を進めていくとどこかに乗り越えないといけない壁が存在するものです。C++ではそれがクラスであることが多いようです。特にC++の場合は,ずぶの初心者ではなく,C言語を一通り使いこなした後でC++に移行してくる人が多いというほかのオブジェクト指向プログラミング言語には無い特徴があります。なまじC言語の知識があるため,オブジェクト指向と手続き型の考え方の違いから,クラスで行き詰まってしまうわけです。 では,どうしてクラスは壁となるのでしょうか。その理由は大きく2点あると思います。一つ目は,C++が登場するまで一般のプログラマにほとんどなじみが無かったオブジェクトという概念を理解しなければならないことです。私が知っている限り,C++が登場したころ,C言語からC++への移行がスムーズにできなかったエンジニアが大勢いました。そうした人の大半は,新しく入ってきたオブジェ

    Part6 C の難関を克服せよ - C/C は永久に不滅です!:ITpro
  • C++での例外処理について

    (2005.4.3) 新規公開 (2017.6.18) 最近の言語仕様に更新. 大幅に加筆。 C++には例外機構が備わっているが、C言語との互換性を確保するためなのか、不可解な動作をするところが多い。 例外を送出しない関数宣言 -- 動的例外指定 (この節は、2000.6.25の日記に加筆したもの。) 関数(またはメソッド)宣言で throw () を付けると, その関数からは例外を投げないという意味になる。にもかかわらず、中で, 例外を投げることができる。 次のソースコードは、関数 f() のなかで例外を投げる。gcc 3.4.2 (Fedora Core 3) では、コンパイル時にエラーも警告も出ない。 [2017-06] gcc 6.3.1 (Fedora 25 Linux) では, f() throw() では警告が出ないが, f() noexcept で、かつブロック内に直接 t

  • cmagazine.jp | Just another WordPress site

    すごい視聴率だと話題になっていたコンビニの経営を観たら、出演している加盟店のファンになってしまったんです。そこで自分も地元香川でフランチャイズ加盟をしてコンビニを経営してみたいなと思うようになりました。 https://www.sej.co.jp/owner/area/market/kagawa.php >>Read more

  • C++ 例外処理

    スマートなエラー処理 C++では、エラーの処理や管理機能として例外処理 (Exception) がサポートされています この機能を用いて、実行中の予期せぬエラーに備えます 例外は、try , throw , catch の3つのキーワードで構成されます まず、例外は明示的に例外を監視しなければなりません 例外が発生する可能性のあるプログラムコードを try ブロックとして { } で囲みます try { //例外が発生する可能性のあるプログラムコード } try ブロックないで例外が発生した場合 catch ステートメントでそれを受け取ります catch ステートメントが適切な例外を受け取り、用意された例外処理を行います catch (type arg) { //例外処理 } type arg には、関数の宣言のように型と変数名を指定します catch ブロックは発生した例外が、この型と一

  • C MAGAZINE - プログラミングの禁じ手Web版 C++ 編

    すごい視聴率だと話題になっていたコンビニの経営を観たら、出演している加盟店のファンになってしまったんです。そこで自分も地元香川でフランチャイズ加盟をしてコンビニを経営してみたいなと思うようになりました。 https://www.sej.co.jp/owner/area/market/kagawa.php >>Read more

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • STLのページ

    角のページへ戻る STL(Standard Template Library) C++の標準テンプレートライブラリ、STLのページです。 2003/6/7 コンテナ全ページ標準に合わせて修正 目次(と予定) 更新履歴 はじめに STLとは? '99 11/07 作成 その前にC++で知っておかなければならないこと 馴染みがない(かもしれない)単語 '99 9/23 わずかに修正 テンプレート(template<>) 2001 1/31 更新 環境 '99 2/20 VCでSGI_STLを使う、BeOS、egcs等 使い方 イテレータ(反復子)の使い方 '99 6/19 更新 関数オブジェクトの使い方 '99 7/4 mem_fun()の使い方追加 早見表 STLで使う主なクラス '99 6/13 各クラスの説明、ヘッダをまとめた STLで使われる名前 '99 6/13 微妙に更

  • Let's Boost

    Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー

  • C 開発者のための単体テスト入門 ― @IT

  • 1