タグ

programmingに関するdynamicsoarのブックマーク (179)

  • What is the difference between _tmain() and main() in C++?

    _tmain does not exist in C++. main does. _tmain is a Microsoft extension. main is, according to the C++ standard, the program's entry point. It has one of these two signatures: int main(); int main(int argc, char* argv[]); Microsoft has added a wmain which replaces the second signature with this: int wmain(int argc, wchar_t* argv[]); And then, to make it easier to switch between Unicode (UTF-16) a

    What is the difference between _tmain() and main() in C++?
    dynamicsoar
    dynamicsoar 2015/01/14
    VC++ の int _tmain(int argc, _TCHAR* argv[]) とはなんなのかという解説
  • 初級者向けVisualStudio便利機能集Vol.1 - Qiita

    次回:初級者向けVisualStudio便利機能集Vol.2 VisualStudioはかなり多機能なIDEですが、意外とあるようで見当たらないのがその各機能、特に便利なものをまとめた記事です。 というわけで私の知る範囲内での便利機能を挙げていこうと思います。必須レベルのものも多いですが。 基準のバージョンはVisualStudio 2013 ProfessionalですがExpress Editionでもほぼ変わらず使えるはずです。 ちなみにショートカットキーは[ツール]→[オプション]→[環境]→[キーボード]から設定可能です。 つかいづらいですが。 基 文字の検索/置換 Ctrl+F : 文字の検索 Ctrl+H : 文字の置換 ※[編集]→[検索と置換]→[クイック検索]でも可 検索/置換の対象を指定できるため、「選択した部分だけで置換」のようなことを行えるので便利です。 これに

    初級者向けVisualStudio便利機能集Vol.1 - Qiita
    dynamicsoar
    dynamicsoar 2015/01/08
    トグルコメント(Notepad++でのCtrl+q)できないってマジなのかな…信じがたいんだが
  • その14 ドキドキしないプリコンパイル済みヘッダ

    ホーム < ゲームつくろー! < C++踏み込み編 その14 ドキドキしないプリコンパイル済みヘッダー ちょっとしたテストやサンプルの為に書き捨てるプログラムではなく、大規模なプログラムを作成するとコンパイル時間が馬鹿にならなくなってきます。商用ゲームだと、規模は様々ですが、コンシューマ機で販売するような規模のプログラムになるとフルビルドで数時間からヘタをすると1日近くかかる場合もあります。ゲームプログラマになって初めて超絶に大規模なコードに触れ、さらにそれをフルビルドした時には、それはそれは延々と続くビルドにただただ驚いたのを覚えています。 そこまで大規模とは言わないまでも、ある程度規模が大きくなるとビルド時間を短縮したくなってくるものです。そういう時、割とお手軽で効果的にビルド時間を短くしてくれる仕組みが「プリコンパイル済みヘッダー」です。 C++はコードをコンパイルしリンクすることで

    dynamicsoar
    dynamicsoar 2015/01/08
    わかりやすくて涙が出そう/2013 Expressだと微妙に表記が違うが、分かる範囲
  • Using color themes with Visual Studio 2013 Express Editions

    dynamicsoar
    dynamicsoar 2015/01/08
    注意として日本語で使ってたら"Developer Command Prompt for VS2013"は「開発者コマンド プロンプト for VS2013」なのと、これを起動してからcdする必要がある(スクショ参照)
  • multicoreware / cppamp-driver-ng / wiki / Home — Bitbucket

    Atlassian Sourcetree is a free Git client for Windows. Atlassian Sourcetree is a free Git client for Mac.

  • The GNU C Library

  • 速習 makefileの作り方 - cmphysの日記

    Linuxにはmakeという便利な機能があります。 通常ですとプログラムをコンパイルする時は、コンパイルする度にコマンドラインにコンパイラ名とソースファイル名とコンパイルオプションと・・・と大変めんどうなのです。 さらに、ある一つのソースファイルを書き換えたとき、すべてをもう一回プログラムをすべてコンパイルし直すのは面倒です。 これを"make"のコマンド一発でやってのけてくれます。 makeを使えば、コマンドラインに面倒くさいオプションを書く必要もなし、更新されたファイルだけを選択的に選んでコンパイルしてくれるので、書き直した時のコンパイル時間の短縮にもなります。 このmakefileの作り方は全く難しいものではなく、一度作ってしまえばあとは使い回すことができます。 今回はFortran90のプログラムの場合を考えますが、C言語にも簡単に応用することができます。 復習 ソースコードから実

    速習 makefileの作り方 - cmphysの日記
  • http://web.agr.ehime-u.ac.jp/~kishou/Lecture/atmosphere/atmo06.htm

    2 データ解析のためのFortran90/95 ・まえがき      参考書 ・第1章 ・第2章          章末問題の解答例 ・第3章         章末問題の解答例 ・第4章         章末問題の解答例 ・第5章         章末問題の解答例 ・第6章         章末問題の解答例 ・第7章         章末問題の解答例

  • データ解析のための Fortran90/95 第 4 章 配列   第 4章 配列 § 4.1 配列の基礎概念 1. データ並びとしての配列 添え字付き変数 同種類の多数デ一タを扱う場合、データの個数 n が大きくなる

    データ解析のための Fortran90/95 第 4 章 配列   第 4章 配列 § 4.1 配列の基礎概念 1. データ並びとしての配列 添え字付き変数 同種類の多数デ一タを扱う場合、データの個数 n が大きくなるとその1つ1つに別の変数名をつけて扱 うのはたいへん手間がかかる。たとえば n = 5 のとき、x1,x2,x3,,x4,x5 の 5 個の変数の平均を求める 場合、 average = ( x1 + x2 + x3 + x4 + x5 )/5.0 と書くことはできるが、データの個数 n が変わった場合にはプログラムを書き直さなければならないし、 n が大きくなれば書き下すこと自体がたいへんな手間になる。 このような場合、数学では変数 x に添え字 (subscript) をつけて、x1、x2 ··· のように表しておき、    average = 1 n n ∑ i=1

  • Fortranデバッグ用オプション - kusuhara's wiki

    オプション指定例 gfortran gfortran -Wall -pedantic -std=f95 -fbounds-check -O -Wuninitialized -ffpe-trap=invalid,zero,overflow (-fbacktrace) [a.f90] '-backtrace'が使えない場合はデバッガを使う g95 g95 -Wall -pedantic -std=f95 -fbounds-check -O2 -Wuninitialized -ftrace=full [a.f90] ifort ifort -check all -warn all -std -gen_interfaces -fpe0 -ftrapuv -traceback [a.f90] -gen_interfaces:subroutineやfunctionのINTERFACEブロックを作ってく

    dynamicsoar
    dynamicsoar 2014/08/21
    これはいいまとめ
  • バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 恐らく、プログラマの中で配列内の要素を整列させたりするソートにお世話にならなかった人、というのは余り考えられないのではないでしょうか。しかし、とはいえ、大抵はソートを自前で実装せず、組み込み関数であったり、あるいは何らかのライブラリで済ませることが殆どだと思う。 車輪の再発明というよりも、バグとか、自分が考慮していなかった挙動などを避けるために、自前でソートを組むことは余りないのですが、とはいえ、自分なりにソートを実装して見ると、それがどういう特徴を持ったソートであるか、というのがわかりますし、また、ソートというのはいったいどういう操作で実現されるのかという洞察が深まってくるなあ、という実感があったりする。 なので、今回はあるソート二つについての話を書くのが趣旨です。 最高のアルゴリズムはある、だが最悪のアルゴリズムは何か 一口にソートといったところで、ソート自体にも銀の弾丸があ

    バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )
    dynamicsoar
    dynamicsoar 2014/08/16
    MiracleSortどういう意味かと思ってstackoverflow見たら、宇宙線の(原文はα線とあるがγ線じゃないっけ)ビットエラーでいつかは望みの配列が得られるかも、ということか
  • G95, Windows Download | The Fortran Company

    The G95 compiler binary from 2012 is available here.  Click the “g95-Mingw_2012120” link below.  This will download an executable .exe file which installs G95 for Windows. G95 is a free open source Fortran 95 compiler.  It implements the Fortran 95 Standard, some parts of the Fortran 2003 Standard and a few extensions.  In addition, G95 can compile code to the F Programming Language subset. The la

    dynamicsoar
    dynamicsoar 2014/08/07
    g95のバイナリ。本家がリンク切れなのでここから。ただしgfortran, gccと共存するためにはg95-MinGW-41なのでこれではダメっぽい
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • 分割の定石

    第1項:変数の共有 第2項:extern宣言 第3項:ヘッダーファイルの重複防ぎ [1]変数の共有 前節では、最低限の構成でプログラムを複数ファイルに分割しました。 しかし、共有できたのは関数だけであり、変数の共有は行いませんでした。 複数のソースファイルに分けて開発を行う場合は、 関数だけでなく、変数や定数なども共有する必要が生じてきますが、 前章の方法では、変数を共有することは出来ません。 例えば、次のようにヘッダーファイル内で変数を宣言すると、 宣言が重複している、という意味のエラーが表示され、コンパイル出来ません。 /* sum.h */ int sum(int min,int max); int Public; このエラーをより正確に理解するには、宣言の意味を理解する必要があります。 これまで、関数にしろ変数にしろ、宣言する、と表現してきましたが、 実は、宣言に

    dynamicsoar
    dynamicsoar 2014/07/23
    わかりやすいー
  • C言語の正しいヘッダファイルの書き方 - saito’s blog

    最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの書き方が分かっていないと思われる箇所が多々見られました。 実際、C言語の入門書でもヘッダファイルの書き方を詳しく説明しているものは、僕の知っている限りでは存在しないので、C言語を使っていてもヘッダファイルの正しい書き方を知らない人が少なくないのではないかと思われます。 そこで、このエントリでは、C言語のヘッダファイルの書き方について、僕が知っているテクニックをまとめてみました。 インクルードガードを書く ヘッダファイルファイルで他のヘッダファイルをインクルードしていると、いつの間にか同じヘッダファイルを2回インクルードしてしまうことがあります。 例

    C言語の正しいヘッダファイルの書き方 - saito’s blog
    dynamicsoar
    dynamicsoar 2014/07/23
    なるほどー。まさに詰まってたあたりがまとまってた。すごくありがたい。
  • ポインタ虎の巻~多次元配列の実現

    面白いことに、p == *p である。これはポインタが指す対象が配列でありポインタではないから、間接参照が生成されないのである(逆に言えばポインタの場合には、*p が間接参照をして、p != *p になる)。 上の表の結果と、二次元配列のシンボル x は、実質上一次元配列であることから、次のキャストは成功することになる。 int *p = (int *)x; だから次のように書ける。 int x[10][10]; int i; int *p = (int *)x; for( i = 0; i < 100; i++ ) { *p++ = i; } printf( "x[5][5] = %d\n", x[5][5] ); これは x が実質上一次元のポインタであることを示している。 この事情は関数引数の場合も同様である。二次元配列とポインタは混同されず、しかし int (*p)[10] とは一

  • SConsをちょっと便利なMakeとして使ってみる - 跡々

    makeでちょっと複雑なことをやろうとすると結構しんどくなってきたので、SConsを試してみることにした。 まだ全然使いこなせてないが、とりあえずmakeでできることをSConsではどのようにやるのかのメモ。 単純な例 次のようなMakefileを考えてみる。 all: piyo.txt hoge.txt: echo "This is $@" > $@ fuga.txt: echo "This is $@" > $@ piyo.txt: hoge.txt fuga.txt cat $+ > $@ SConsではSConstructというファイルが、makeにおけるMakefileに相当する。SConstructはPythonのスクリプトである。 上記のMakefileと同様の動きをするSConstructは以下のように書ける。 Command("hoge.txt", None, 'echo

    SConsをちょっと便利なMakeとして使ってみる - 跡々
  • SCons: A software construction tool

    What is SCons? SCons is an Open Source software construction tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software. What makes SCons better? Configuration files are Python scripts--use the p

    dynamicsoar
    dynamicsoar 2014/07/23
    makeの改良版みたいなものか。Fortranをデフォルトでサポートってのがいい。とてもいい。でもPython必須か。FAQによると2014-07現在はPython2のみで3は未対応、だがNewsには次からは3にするわってある…うーむ
  • コンパイルするファイル間の依存性はできるだけ減らそう 〜liboctaveへん〜 - akihiko’s tech note

    liboctave 利用時のコンパイルを「遅い」と感じたことはないだろうか.ここでは liboctave におけるヘッダファイルの依存関係を把握することにより,コンパイルを高速化する方法を検討する. Scott Meyers (スコット・メイヤーズ): Effective C++ (吉川訳, アスキー出版局, 1998) が指摘しているように,コンパイルするファイル間の依存性はできるだけ減らした方がいい(34項).特に liboctave のように大きなライブラリになると,コンパイル速度が顕著に違って来る. liboctave 利用時のコンパイルを高速化するために,ヘッダファイルの依存関係を把握しよう. liboctave の場合, octave/config.h と octave/Matrix.h をインクルードしておけば,大概の機能を利用できるようになる. SVD (特異値分解) とか

    コンパイルするファイル間の依存性はできるだけ減らそう 〜liboctaveへん〜 - akihiko’s tech note
  • Makefileの書き方に関する備忘録 - minus9d's diary

    ※この記事は続き記事になっています 第1回:この記事 第2回:Makefileの書き方に関する備忘録 その2 - minus9d's diary 第3回:Makefileの書き方に関する備忘録 その3 - minus9d's diary 第4回:Makefileの書き方に関する備忘録 その4 - minus9d's diary makeの使い方を復習しました。今更makeかよと思われそうですが、曖昧に覚えているところも多く、よい勉強になりました。参照したテキストは、オライリーがオープンブックとして公開しているManaging Projects with GNU Make, Third Edition(GNU Make 第三版)。今回の記事はほぼ全部これが出典です。 最初の一歩 makefileに以下の内容を書いて保存。コマンドラインでmakeと単に打つと、このmakefileが実行対象とな

    Makefileの書き方に関する備忘録 - minus9d's diary