タグ

c++に関するhachiのブックマーク (9)

  • Visual C++で日本語コメントを使用してコンパイルすると動作がおかしくなる件|TechRacho by BPS株式会社

    皆さんはVisual Studioのコンパイラを使用して日語コメントを使うとプログラムの動作がおかしくなった経験はありませんでしょうか。 私が担当しているプロジェクトでは基コメントを書く際は英語なのですが、たまに開発途中にメモ書きとして日語コメントを書く時があります。 するとさっきまで普通に動いていたプログラムが急に意図しない動作をし始めます。 この経験は何度かあって、その都度Google検索で色々調べてみるのですがどうにもそれらしきものがヒットしない。 しかし少し前に試しにTwitterで検索をしてみました。 その結果同様の事象が意外と出てくる。 明確に説明してくれていたのがこちら。 説明しよう。これをUTF-8で保存してVisual C++でコンパイルすると、「可能」のあとの改行が消えて、if(hoge)がコメントアウトされる。解決策は、Shift_JISで保存するか、BOM付き

    Visual C++で日本語コメントを使用してコンパイルすると動作がおかしくなる件|TechRacho by BPS株式会社
  • C++2aで「クリスマスまであと何日」を表示する

    こんにちは、yoshiです。 昨年は参加しなかったので2年ぶり2回目のBPSアドベントカレンダー参加です。よろしくおねがいします。 さて、アドベントカレンダーということですから、今年はカレンダーにまつわる話をしてみようかと思います。 時刻を扱うライブラリ <chrono> C++には、7年前のC++11まで、時間を扱う方法が用意されていませんでした。 もちろんC言語には time_t や tm 構造体などがあったので、それを使えば時間を扱うことはできたのですが。 さて、C++11ではようやく <chrono> というライブラリが導入されて、時刻を扱うことができるようになりました。 <chrono> で新たに導入されたのは、 system_clock steady_clock high_resolution_clock といった時計クラスや、 time_point という時刻の一点を示すクラ

    C++2aで「クリスマスまであと何日」を表示する
  • イマドキの C++erが覚えておくべき便利なWebサービス7選

    こんにちは、yoshiです。 今回は直接的な技術の話ではありませんが、C++の情報を集めるにあたって筆者が参考にしているWebサービスを紹介しようと思います。 筆者の独断により重要だと思う情報から並べていきますが、どのサービスも異なる方向に特化しているので優劣を付けられるわけではありません。何を重要視するかで変わると思います。 ⚓1. Wandbox wandbox.orgより どんなプログラム言語でも、まずは実行してみるということが一番大事だと筆者は考えています。という訳でまず紹介するのは、多様な言語に対応したオンラインコンパイラです。 C、C++の他にも、C#、JavaJavaScriptGoRustなど様々な言語のコードをサンドボックス環境で実行してくれます。 特筆すべきは、過去の複数のバージョンや開発中バージョンまで使えるようになっていることで、これにより特定のバージョンで発

    イマドキの C++erが覚えておくべき便利なWebサービス7選
  • C++: コンパイル時テストのススメ|TechRacho by BPS株式会社

    皆さん、C++のテストフレームワークは何を使っていますか? 最近はBoost.Testやgoogletestあたりが一般的ですね。私は個人的に IUTest というものを使ったりもします。 しかし、C++はコンパイル時計算を行う言語です(個人の感想です)。 だったらテストだってコンパイル時にやりたいと思いませんか? 思いますよね。やりましょう。 コンパイル時テストのやり方 C++にはstatic_assertという機能があります。コンパイル時に式を評価して、falseになった場合コンパイルエラーにしてエラーメッセージを出してくれる機能です。 高機能なテストフレームワークを使うのも便利ですが、コンパイル時に解決できるテストはこれを使って書くことができます。 static_assertの文法は単純です。任意のboolに変換可能な定数式をexpとすると、 static_assert(exp, "

    C++: コンパイル時テストのススメ|TechRacho by BPS株式会社
  • echoコマンドをC++に移植する|TechRacho by BPS株式会社

    こんにちは。yoshiです。TechRachoに書くのは久しぶりになってしまいました。今年はもっと書いていきたいと思っています。 先日、ikaさんの記事でechoコマンドを移植する話がありました。 C++に詳しい方の中には、「これはC++とは言えないのではないか?」と感じた方もいるのではないでしょうか。 確かに、「C++に移植する」という言葉から受けとるイメージとは異なっているかもしれません。 私自身、一応それなりの年数C++を使ってきた経験があるので、「C++らしいechoコマンド」を考えてみようと思います。 ついでに、せっかくなので、この記事では最新のC++17の機能も使ってみましょう。 C++版echo 私なりにC++らしく書いて見たechoコマンドが以下のようになります。 #include <iostream> #include <string_view> #include <ve

    echoコマンドをC++に移植する|TechRacho by BPS株式会社
  • 4.4BSD-Lite2のUNIXコマンドをC++に書き換える開発で学んだ事 Part1|TechRacho by BPS株式会社

    皆様、明けましておめでとうございます。昨年はTechRachoの執筆もちょくちょくやっていましたが、改めて読み直してみると、昨年はBSDの記事を書いていないことに気づきました。 ちょっとマンネリ気味な所もあったのでここは思い切ってTechRachoに書くことによる願掛けの意味も込めて最近始めている趣味の開発で学んだ事を共有していこうと思います。 4.4BSD-LiteのソースコードをC++に移植 元々、前々からやろうやろうと計画していたのですが中々時間が取れずに日々過ごしていたので、ここでもう一度願掛けの意味で4.4BSD-Lite2のソースコードをC++に移植開発を始めています。 と言っても、久々のOSの深い所に入っていくため、それまで誰かに聞いて知った話が混じってしまったりで読んだ知識を載せるのもよくありません。 ということで、TechRachoの記事で書くのは実際に調べたものだけを

    4.4BSD-Lite2のUNIXコマンドをC++に書き換える開発で学んだ事 Part1|TechRacho by BPS株式会社
  • 週刊Railsウォッチ(20170721)ActiveStorageは5.2で正式導入、Onigmoの脆弱性が修正、この夏読みたい名作Ruby本ほか|TechRacho by BPS株式会社

    2017.07.21 週刊Railsウォッチ(20170721)ActiveStorageは5.2で正式導入、Onigmoの脆弱性が修正、この夏読みたい名作Rubyほか こんにちは、hachi8833です。この季節は水筒を持ち歩かないと命が危ない気がしています。 7月第3週のRailsウォッチ、いってみましょう。 ActiveStorageが正式発表: Rails 5.2から導入(Rails公式ニュースより) 公式: Active Storage is coming to Rails 5.2 先々週のRailsウォッチで速報でお伝えしたActiveStorageが公式に発表され、5.2から導入されることが決定しました。 Active Storage is coming to Rails 5.2: A brand-new framework for managing cloud and l

    週刊Railsウォッチ(20170721)ActiveStorageは5.2で正式導入、Onigmoの脆弱性が修正、この夏読みたい名作Ruby本ほか|TechRacho by BPS株式会社
  • CMakeをより便利にするライブラリ "CMakeSupports" がオープンソースになりました|TechRacho by BPS株式会社

    超縦書でも使っているライブラリCMakeSupportsが、オープンソースライセンスで公開されました。 https://github.com/flokart-world/cmake-supports これは何 クロスプラットフォームなビルド補助ツールとして、CMakeは大変優秀(※1)なソフトウェアです。 CMakeSupportsは、CMake単体で手が届かなかった部分を補完するためのユーティリティ群です。超縦書の開発メンバーのskhrshin氏によって開発されており、超縦書(40以上の内部モジュールで構成)のビルドで全面的に利用されています。 現状、社内利用していたものを公開したプロトタイプ段階ですので、ドキュメントは皆無で汎用性が足りない部分もありますが、CMakeの書き心地に不満があった方は是非ともお試しください。 ※1: 少なくとも、hostとtargetのオプションパラメータを

    CMakeをより便利にするライブラリ "CMakeSupports" がオープンソースになりました|TechRacho by BPS株式会社
  • [C++] イテレーターを作る【BPS Advent Calendar: 12/20】|TechRacho by BPS株式会社

    はじめまして、yoshiと申します。昨日のAdvent Calenderのyoshi.kさんとは別人です。 BPSでは Ruby on Rails による高速開発を行っているので、TechRacho技術系の記事もRubyの話題が多く含まれ、すると読者層もRuby開発者が多いのかな、と思っているのですが、私はRubyは全く分かりません。 現在私は弊社製品の超縦書の開発に携わっており、そこではC++を利用しています。大体C++のことしか書けない人間ですので、この記事でもC++の話をさせてもらおうかと思います。 今回の記事は、そんなに深い話はしません。C++ガチ勢の方には今更な、物足りない内容だと感じるかもしれませんが、ご了承ください。 なお、この記事では、特に明示しない場合、C++14を基準にしたいと思います。 そもそもイテレーターとは イテレーター、日語では反復子とも言いますが、C++

    [C++] イテレーターを作る【BPS Advent Calendar: 12/20】|TechRacho by BPS株式会社
  • 1