タグ

開発とC++に関するiwwのブックマーク (20)

  • C++ Debugging for the ESP32 in Visual Studio - YouTube

  • C++のenumの値を文字列にできるライブラリnameofがすごい - Qiita

    はじめに 2019/7/10追記 NAMEOF_TYPEの例が0.8.0以降のバージョンで動かない問題を修正しました (Thanks! @tyu_ru_cppさん) C++だと「enumで定義した名前を文字列にしたい」というときに困ることがたまによくあります。他の言語だとToStringメソッドを使って文字列にできたりするのですが、C++だとそうはいきません。 Qtを使うと独自の黒魔術によって比較的楽に取得することができるのですけども、Qtを使わないピュアなC++な環境だとどーすんだろっていう感じです。 そこで、Siv3dの作者さんである@Reputelessさんが、まさにそのenumから文字列の変換ができるライブラリについて呟いておられまして、その機能と実装方法に感銘を受けたので、ここで紹介したいと思います。 C++ で enum の値を追加の記述無しで文字列にできるライブラリだ (MS

    C++のenumの値を文字列にできるライブラリnameofがすごい - Qiita
    iww
    iww 2019/04/05
    『文字列リテラルをsizeofするとその文字列の長さが取れること、関数のシグネチャはある程度固定であることを利用すると、以下のように筋肉で切り出すことが出来ます。』 筋肉という表現をすればよいのか。
  • cqual freecode日本語情報ページ - OSDN

    cqual は C プログラムのバグを見つけるの入力に基づいた分析ツールです。それは余分なユーザー定義の型修飾子を持つ C の型システムを拡張します。プログラマに適切な修飾子を持つ彼らのプログラム注釈し、cqual エラーをチェックします。不適切な注釈は潜在的なバグを示します。cqual はプログラム解析モードでは、emacs ベースの GUI を使用して分析結果を示します。他のアプリケーション間で潜在的なフォーマット文字列の脆弱性を検出およびユーザー スペース カーネル ポインター エラー検出 cqual を使用できます。

    cqual freecode日本語情報ページ - OSDN
    iww
    iww 2018/10/29
    2003年くらいでストップしてる?
  • C++ と const 参照 - NyaRuRuが地球にいたころ

    数年前,まだ私が C++ゲームを書いていたころ,深すぎる関数のネストは「一旦変数に入れ」て「読みやすくする」というコーディングスタイルにだいたい落ち着いていた.もちろん,「これは一旦別名を付けるだけで,変数に再代入する気はないよ」ということで const も付ける.ただあまり大きなデータのコピーは嫌だよねということで,戻り値が std::string や構造体の関数呼び出しを「一旦変数に入れる」ときは const 参照を好んで使っていた. A(B(C(a), b, D(E(c), d, e))); 「む,なんて読みにくいコード.ばらせよ」 const int target_id = C(a); const MessageBody& message_body = D(E(c), d, e); const Message& msg = B(target_id, b, message_bod

    C++ と const 参照 - NyaRuRuが地球にいたころ
    iww
    iww 2018/06/15
    『const 参照の意味は「この変数を通しては参照先を書き換えませんよ」であって,「この変数の中身は不変ですよ」ではない.』
  • Visual StudioでLinux向けにMakefileプロジェクトを作ってリモートビルドする – Bakulog

    初歩的なとこで突っかかったのでメモ程度に。 記事ではVisual StudioのプラグインであるVisual C++ for Linux Developmentに最近追加された機能を紹介します。 まずVisual C++ for Linux Developmentとは何かという話ですが、これは名前の通りVisual StudioでLinux向け開発をサポートするプラグインです。 プラグイン自体は以前から公開されていて、クロスコンパイルに関する方法の解説記事が上がっていたりします。 Visual C++ for linux Development を軽く使ってみた Visual C++ for Linux Developmentつかってみようとしたらハマったけど動いた さて。ここからが題ですが、2016年8月19日に同プラグインではMakefileプロジェクトが新たにサポートされました。

    Visual StudioでLinux向けにMakefileプロジェクトを作ってリモートビルドする – Bakulog
  • Linux development with C++ in Visual Studio - C++ Team Blog

    Content outdated For up-to-date documentation see Linux development with C++. For an overview of the Visual Studio capabilities described in this article, see Develop C and C++ applications. This post was updated on December 11, 2020 Visual Studio 2017 introduced the Linux Development with C++ workload. We generally recommend Visual Studio’s native support for CMake for all C++ Linux development.

    Linux development with C++ in Visual Studio - C++ Team Blog
  • Visual Studio 2017でLinux C++開発(CentOS7仮想環境) - Qiita

    Visual Studio 2017でLinux C++のクロスプラットフォーム開発ができるようになったということで試してみます。 基的にはこちらの内容と一緒です。 http://qiita.com/tadnakam/items/4660d8fa5b1b72f9eb70 Windows 7 Professional SP1 64bit Visual Studio 2017 Community VirtualBox v5.1.8 Vagrant v1.8.6 ゲストOS CentOS7.2 (bento/centos-7.2) ※VagrantでゲストOS(CentOS)はセットアップ済みとします。 Visual StudioでLinux C++開発できるようにする Visual Studio 2017のインストーラーからC++によるLinux開発をインストールします。 ゲストOS(Cen

    Visual Studio 2017でLinux C++開発(CentOS7仮想環境) - Qiita
  • オブジェクト指向と20年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向と10年戦ってわかったこと Twitterやはてブコメントを見たら、「わかりやすかった」というコメントもあったのですが、どちらかというとネガティブ方面なコメントが多く目につきました。マサカリという用語で忌憚なく意見を言う風潮については別にいいんですが、「わかりにくい」「間違っている」「古い」みたいなコメントは何も生み出さないし、みんなでニコニコポエムを投稿しあうやさしいインターネッツになったらいいなって思ったので、僕もオブジェクト指向について投稿しようと思います。 何原則? 3原則じゃなくて4では?みたいなコメントもあったのですが、別に3でも4でも5でも重要ではないかなって思います。この4原則の出どころがどこかは知らないですが、C++かSmalltalkあたり(このあたりの話を見かけたのはJava登場前だった気がする)をターゲットとしている気がします。Jav

    オブジェクト指向と20年戦ってわかったこと - Qiita
    iww
    iww 2016/05/12
    『みんなでニコニコポエムを投稿しあうやさしいインターネッツになったらいいなって思った』 優しい
  • メモリーリークの検出:mtrace , valgrind:プログラマー社長のブログ:オルタナティブ・ブログ

    以前の記事にもLinuxでのメモリーリークの検出に関する事を書いたのですが、もう少し一般的なやり方を紹介しましょう(というより、自分で毎回忘れるので備忘録として・・・)。 【mtraceを使う方法】 まず、mtraceを使う方法です。リークのテストを開始したい場所でmtrace()をコールし、終了したい場所でmuntrace()をコールするようにします。 #include        <stdio.h> #include        <stdlib.h> char *test() { char    *test=malloc(10); return(test); } int main() { char    *ptr; mtrace(); ptr=test(); //*(ptr+10)='\0'; //free(ptr); muntrace(); return(0); } -gつきでコ

    メモリーリークの検出:mtrace , valgrind:プログラマー社長のブログ:オルタナティブ・ブログ
  • constメンバ関数

    オブジェクトの変更拒否 あらかじめ、オブジェクトがもつメンバ変数の値を変更する予定のない データの読み込み専用の関数などは、メンバ変数を変更できないようにすると 思わぬ変更によるデータの整合性の損傷を避けることができます メンバ関数の宣言に const キーワードを指定すると そのメンバ関数はオブジェクトの持つメンバ変数を変更できなくなります member-function() const {... メンバ関数名の後に const を指定するところに注意してください #include<iostream> using std::cout; class Kitty { public: char *str; void print() const { //str = "Chobits"; cout << str; } Kitty(char *str) { this->str = str; } };

    iww
    iww 2012/07/25
  • C++マニアック,マニピュレータの作り方,how to make manipulator

    ここでは、入出力ストリームと共に使用するマニピュレータの作り方について解説します。マニピュレータは、関数でも、クラスでも実現できる少し毛色の変わったおもしろい存在です。マニピュレータを理解するにはオペレータのオーバーロードの知識が必須ですので、そちらもご覧ください。 マニピュレータとは 引数のないマニピュレータの作り方 引数のあるマニピュレータの作り方 グローバル関数として作成する方法 グローバルな関数オブジェクトとして作成する方法 クラスオブジェクトとして作成する方法 マニピュレータの応用例、printf 風マニピュレータ マニピュレータとは ページの先頭へ マニピュレータとは、cin、cout などを代表とする入出力ストリームに対する、挿入演算子 << や抽出演算子 >> と協調して、入出力フォーマットの変更を行うなどの目的で設計されたもので、標準ライブラリでは endl、setw、s

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

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

    iww
    iww 2012/07/05
    whyが書いてないのでイマイチ
  • 出力用シフト演算子(<<)のオーバーロード | プログラマーズ雑記帳

    C++ の小技の紹介です。 C++ の標準ライブラリでは cout などにシフト演算子(<<)を使って出力します。 std::cout << "Hello World!!" << std::endl; これは iostream の上位クラスである ostream のシフト演算子(<<)のオーバーロードで実現されているのですが、これを自分で定義したクラス、構造体、列挙型などに対しても定義しておくと便利です。 これを定義しておくだけで、標準出力(cout), ファイル(ofstream), 文字列(stringstream)などにも自分で作ったクラス等を文字列として出力することが出来ます。 どうやるかというと、例えば点の構造体 Point があったとすると以下のように ostream クラスとシフト演算子(<<)の 2 項演算をオーバーロードします。 std::ostream &operato

    iww
    iww 2012/07/01
  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    frsw3nr.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS i

    iww
    iww 2012/02/27
    とてもわかりやすい
  • F-35の開発で生まれたソフト技術

    先日、政府は自衛隊の次期主力戦闘機(FX)に、米国など9カ国が共同開発中の米Lockheed Martin社製「F-35 Lightning II」を選定しました。 航空機産業は技術面で多大な波及効果があることから、FXの選定においても国内の防衛産業の基盤維持が一つの論点となっていました。ただし、今回選定が決まったF-35の場合、Eurofighter社の「Typhoon」といった他のFX候補機と比べると、国内で認められるライセンス生産の割合は低いようで、F-35調達における一つの懸念点となっているようです。 これはこれで日の製造業にとって非常に重要な問題なのですが、それとは別に筆者がF-35で思い浮かべたのが、「JSF++」です。 JSFというのは、F-35のプロジェクト発足当初の名称で「Joint Strike Fighter」の略称です。さまざまな国の多様な目的を持った戦闘機を共通

    F-35の開発で生まれたソフト技術
  • gSOAPマニュアル

    このサンプルでは計算を行っているが,GSNの場合,この計算ルーチンが実際のアンテナ制御ルーチンに入れ替わる事になる. *注意! ここで示す例は構築方法の一例であるため,最適な方法とは限らない * 1.開発用のベースフォルダ"calc"を作る. (フォルダ名は任意であるが,稿では以下"calc"として扱う) 2.ベースフォルダ"calc"内に,加算,積算,2乗計算に関する,メソッド名,パラメータ名,パラメータデータ型を"calc.h"ファイルに記述する. また,calc.hの最初の部分には,C++言語におけるデータ型を,SOAPペイロード内で用いている XML Schemaのdatatypeにtypedefしている. ここで,int ns__add(xsd__double a, xsd__double b, xsd__double &result);の行を解説する. まず,関数の戻り値はi

  • Koders - Source Code Search Engine

    Synopsys is a leading provider of electronic design automation solutions and services.

    Koders - Source Code Search Engine
  • Qt 4.5登場、YouTube対応 | エンタープライズ | マイコミジャーナル

    Qt - A cross-platform application and UI framework Nokiaは3日(ノルウェー時間)、Qtの最新版となるQt 4.5を公開した。QtはC++で開発されたクロスプラットフォームアプリケーションおよびUIフレームワーク。4.5はフレームワーク全体に渡ってパフォーマンスの改善(グラフィックシステム、データハンドリング、Webエンジンほか)が実施されたバージョン。それ以外の注目点は次のとおり。 軽量クロスプラットフォームIDE Qt Creatorの導入 新しいQt SDKの提供 WebKitレンダリングエンジン統合の改善 QtからFlashのハンドリングが可能になるようにNetscape Plugin APIサポートを追加 新しいJavaScriptエンジンの導入 Apple Cocoaフレームワークへの移植(Carbonにも対応) ライセンス

  • 変電工 - Google C++スタイルガイド日本語訳

    国产亚洲欧美日韩在线一区二区三,AV蜜桃,中文乱码人系列一区二区,乱中年女人伦视频国产,男女性高爱潮是免费国产,国产成人精品三上悠亚久久,果冻传媒AⅤ毛片无码

  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

  • 1