VC
「VC」とは、未上場の新興企業を支援する投資会社のことを意味する表現。
「VC」とは・「VC」の意味
「VC」とは、「ベンチャーキャピタル(Venture Capital)」のこと。未上場の新興企業で今後の成長が見込まれるベンチャー会社に対して出資などの支援を行い、上場後のキャピタルゲインを得ることで利益を出す投資会社をいう。出資の対象とするのは、それまでになかった革新的な商品やサービスで新たな市場を開拓する可能性を秘めたスタートアップ企業。出資によりスタートアップ企業の株式を取得し、将来的に株式を公開・上場を果たした際には取得した株式を売却して、その値上がり益の差額であるキャピタルゲインを獲得することが事業の目的である。支援を受けるスタートアップ企業側にとっては、VCの出資による資本調達で運営資金を賄うことができ、銀行などから借り入れを行う場合と異なって返済期限や金利の支払いを気にする必要がないというメリットがある。「VC」のビジネスモデルとしては、「投資資金の調達」「投資先の発掘・選定」「投資先の支援」という3つの業務を柱とするのが一般的である。資金調達では、全額を自己資金で賄う方法以外に、ファンドを設立して出資を募るというケースが多い。ファンドとは、複数の機関投資家や個人投資家に対して出資の募集をするもので、「投資事業組合」とも呼ばれている。VCは設立されたファンドの運営や管理を行い、出資者はその額に応じて上場後にリターンを受ける。出資する事業の将来性や可能性についていかに投資家の心をつかむ提案ができるのかが資金調達を成功させるカギとなるため、投資先の発掘・選定には時代の流れを的確につかむ先見性が求められる。投資先への支援は出資だけにとどまらず、事業を軌道に乗せるためのさまざまな経営コンサルティングを行う。企業価値のブラッシュアップをはかり、株式公開時の上場価値をできる限り向上させることが狙いである。投資先が上場に成功すると多大なキャピタルゲインを得ることができる一方、投資先の選定を誤ったり、投資先の支援が十分でなかったりした場合には、投資先が株式の公開を果たせず出資金が回収できなくなるというリスクもはらんでいる。
「VC」には、その投資対象によって「独立系」「金融機関系」「政府系」「大学系」「地域特化型」など複数の種類に分かれ、それぞれに運営上の特徴がみられる。独立系では、親会社を持たず自己資本で運営をしているため、投資対象先にもユニークな事業内容がみられる。金融機関系は、銀行や証券・保険会社といったグループの関連会社として運営され、全国規模の事業連携や経営支援に強みを持つ。政府系とは、国や自治体などが主体となって設立するもので、日本の伝統産業や地域の活性化に取り組む事業者などへの投資が特徴である。大学系は大学を拠点としたスタートアップ企業への投資に重点が置かれ、地域特化型では、地域に密着したその土地ならではの特徴を生かしたベンチャー企業に対して投資を行う。
一方、「VC」は「ベンチャーキャピタル」以外にも、さまざまな分野で略語として使用されている。たとえばゲーム業界では、「ボイスチャット(Voice Chat)」の意味となり、インターネットを利用したゲームで複数人での会話が可能な音声通話ステムをさす。建築業界でVCといえば「ベントキャップ(Vent Cap)」のことをさし、空気の通り道であるダクトの屋外側の開口部に取り付けられる部材の総称となる。IT業界では、1本の回線を理論上、複数回線とみなす「仮想回線(Virtual Channel)」のことをいい、会議を行う場合に用いる「VC」は、「ビデオカンファレンシング( Video Conferencing)」、つまり遠隔地の複数の会場をつないで画像や音声のやり取りができる「テレビ会議」の意味となる。
VC
(1)Venture Capital(ベンチャーキャピタル)の略。新興未上場企業に出資してハイリターンを狙う投資会社のこと。
(2)Voice Chat(ボイスチャット)の略。とりわけオンラインゲームでは「VCありで」「VC可能ですか」のような形でVCの語が用いられる。
(3)Virtual Console(バーチャルコンソール)の略。コンピュータの端末(コンソール)を仮想的に構築する「仮想コンソール」技術の英語名、または、任天堂の、旧世代ゲーム機のゲームソフトを「Wii」向けにオンライン配信するサービス。なお家庭用ゲーム機における「バーチャルコンソール」および「Virtual Console」の名称は任天堂株式会社の登録商標(第4992532号)。
ブイ‐シー【VC】
読み方:ぶいしー
ブイ‐シー【VC】
読み方:ぶいしー
ブイ‐シー【VC】
読み方:ぶいしー
VC
ベンチャーキャピタル
アスコルビン酸
分子式: | C6H8O6 |
その他の名称: | ビタミンC、セビタミン酸、ビタミンC3、L-キシロアスコルビン酸、L-3-ケトトレオヘキスロン酸ラクトン、Vitamin C、Vitamin C3、Cevitamic acid、L-Ascorbic acid、L-Xyloascorbic acid、L-3-Ketothreohexuronic acid lactone、Avitamic acid、アビタミン酸、L(+)-アスコルビン酸、L(+)-Ascorbic acid、アスコルバジェン、アンチスコルブチックビタミン、アンチスコルビックビタミン、アレルコルブ、Cevex、Cevatine、Cevalin、Cetemican、Cascorbat、Cergona、Cereon、Cenetone、Ce-Mi-Lin、Celin、Ceglion、Cegiolan、Cecon、Celione、Cebicure、Catavin C、Cantaxin、Cantan、アスコルチール、アスコリン、セジオラン、セコン、セビオン、セビキュレ、サンタビンC、サンタキシン、サンタン、アスコルビット、Ascorvit、Ascorteal、Ascorin、Ascorbajen、Antiscorbutic Vitamin、Antiscorbic Vitamin、Allercorb、セベックス、セバチン、セバリン、セテミカン、セスコルバット、セルゴナ、セレオン、セネトン、セグリオン、アスコルビン酸、Ascorbic acid、ビスコリン、Viscorin、L-threo-アスコルビン酸、2,3-ジデヒドロ-L-threo-ヘキソノ-1,4-ラクトン、2,3-Didehydro-L-threo-hexono-1,4-lactone、レドキソン、Redoxon、eAsA、エリスロアスコルビン酸、Erythroascorbic acid、還元型アスコルビン酸、ヒブリン、Hybrin、ビタシミン、Vitacimin、L-トレオ-ヘキサ-2-エノノ-1,4-ラクトン、アクタミンC、Actamin C、カラシミンC、Carashimin C、シータック、C-Tuck、ハイシー、Hicee、ビーシー、VC、ビタC、Vita C、ビタシン、Vitacin、ミタ-C、Mitah-C、Cebion、Reduced ascorbic acid、L-threo-Ascorbic acid |
体系名: | L-アスコルビン酸 |
ジクロフェンチオン
分子式: | C10H13Cl2O3PS |
その他の名称: | ヘキサネマ、VC-13ネマシド、ジクロフェンチオン、VC-13、Hexanema、VC-13 Nemacide、Dichlofenthion、Phosphorothioic acid O,O-diethyl O-(2,4-dichlorophenyl)、Thiophosphoric acid=O-(2,4-dichlorophenyl)=O,O-diethyl ester、Thiophosphoric acid O,O-diethyl O-(2,4-dichlorophenyl) ester、ECP剤、VC、ECP【nematicide】 |
体系名: | チオりん酸=O-(2,4-ジクロロフェニル)=O,O-ジエチル、チオりん酸O,O-ジエチルO-(2,4-ジクロロフェニル) |
炭化バナジウム
%肺活量(%VC)【ぱーせんとはいかつりょう】
肺活量(VC)【はいかつりょう】
VC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/14 14:29 UTC 版)
VC
- 一般名詞
- 可変コンデンサ、バリコン (variable condenser / variable capacitor)
- ベンチャーキャピタル (venture capital)
- ビデオ会議 (video conferencing / video collaboration)
- ボイスチャット (voice chat)
- 塩化ビニル (vinyl chloride)
- 仮想回線 (virtual circuit)
- ビタミンC (vitamin C)
- ボランタリー・チェーン (voluntary chain)
- ボランティアセンター (volunteer center)
- バーチャルクリエーション (Value Creation)
- 変動原価 (Variable Costs)
- ベントキャップ(Vent Cap)空調排気の外壁出口に取り付ける器具。出口の蓋
- 可変圧縮比エンジン(Variable Compression)
- 従量式(Volume Control): 人工呼吸器のモード
- 地名、団体名など
- セントビンセントおよびグレナディーン諸島 (Saint Vincent and the Grenadines)のISO国名コード
- ヴェルチェッリ県 ( Vercelli) のイタリア県名略記号およびイタリア県名コード
- 南ベトナム解放民族戦線 (Viet Cong)
- バリューコマース (ValueCommerce) - インターネットアフィリエイト会社
- 商標など
- 近鉄1220系・1230系電車(大阪線仕様)の電算記号
- Microsoft Visual C++
- バーチャルコンソール (Virtual Console) - 任天堂発売のゲーム機Wii、Wii U、ニンテンドー3DSで一定の金額を払い過去のゲームソフトを(Wii、Wii U、3DS上で)プレイ出来るオンラインサービス
- バーチャコップ (Virtua Cop)(セガのガンシューティングゲーム)
- ヴァルキリーコンプレックス (Valkyrie Complex) - アダルトゲーム
- Vibration Compensation の略。タムロンの防振機構の名称
- Valqua Cup - 日本最大級の競技ダンスコンテスト及び賞のこと。公式にVCと表記がある。Valquaとは大会協賛の冠企業のバルカーの英語表記(バルカー社はダンス関連の企業ではない。)。
Vc
- チェロ (Violoncello) の楽器記号
vc
- .vc - セントビンセントおよびグレナディーン諸島の国別コードトップレベルドメイン
.vc
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/12 03:11 UTC 版)
.vc | |
---|---|
施行 | 1991年 |
TLDの種類 | 国別コードトップレベルドメイン |
現在の状態 | 利用可 |
管理団体 | Ministry of Telecommunications, Science, Technology and Industry |
後援組織 | Ministry of Telecommunications, Science, Technology and Industry |
利用地域 | セントビンセント・グレナディーンに関係する団体・個人 |
使用状況 | セントビンセント・グレナディーンで使われているが、無関係な他国でも使われている。 |
階層構造 | 登録は第二レベルか第二レベルドメインの下の第三レベルに行われる。 |
ウェブサイト | Afilias |
.vcは国別コードトップレベルドメイン(ccTLD)の一つで、セントビンセント・グレナディーンに割り当てられている。
登録に制限はなく、全く関係のないサイトでも登録できるため、"Venture Capital", "Ventura County", "Veterinarian Clinic", "Viet Cong"等の意味として、これらのサイトが登録されることもある。
外部リンク
Microsoft Visual C++
開発元 | マイクロソフト |
---|---|
最新版 | 2022 / 2023年4月11日 |
対応OS | Microsoft Windows |
プラットフォーム | x86, x64 (WOW64) |
種別 | 統合開発環境 |
ライセンス | Microsoft EULA(プロプライエタリ)※無償版有 |
公式サイト | www |
Visual C++ (マイクロソフト ビジュアル シープラスプラス;マイクロソフト ヴィジュアル シープラスプラス)とはマイクロソフト製のC、C++、C++/CLI用統合開発環境 (IDE) であり、コンパイラやデバッガを含む。通称VCあるいはVC++、MSVCなど。前身はMicrosoft C/C++などがある。
概要
事実上のWindowsの標準開発環境であり、その最適化性能は非常に高い。Visual C++ 7.1 (.NET 2003) からは標準C++規格への準拠度が大きく改善されている[1]。同じバージョンでもいくつかのエディションが存在し、以前は上位エディションしか最適化をサポートしていなかったが、Visual C++ 2005から基本的な最適化はExpressを含む全てのエディションにおいて行なえるようになった。ただし、2005で導入されたプロファイリングに基づく最適化 (Profile Guided Optimization, PGO) は上位エディションのみでサポートされている。
Visual C++ 2005以降はVisual BasicやVisual C#などの他の開発言語と統合されたVisual Studioのパッケージとして販売されている。Visual C++ .NET 2003までは言語別製品として販売されていたが、2005以降は行なわれていない。販売されているVisual Studioパッケージから機能を制限した無料版のVisual C++ Express Editionが入手できる。
"Visual"という名称が付けられているが、Visual Basicなどと違ってRADではなく、基本的にはWindows SDK (Windows API) やMFCを使用してコードベースのプログラムを作成することになる(ただしリソースエディタを用いることで、ダイアログウィンドウやメニューの外観デザインのみを視覚的に行うことは以前からできた)。MFCはC++専用クラスライブラリであり、アプリケーションフレームワークの役目も担っているが、基本的にWindows APIの薄いラッパーでしかないため、生産性の点でVisual BasicやDelphiのようなRADに及ばない。しかし、Visual C++ 7.0 (.NET 2002) 以降は、後述するマネージ拡張C++あるいはC++/CLIを使用してWindows Formsアプリケーション(もしくはWindows Formsコンポーネント)を開発する場合に限って、フォームエディタを始めとしたVisual C#やVB.NETのようなRAD環境を使用できる。また、Visual C++ 11.0 (2012) 以降は、後述するC++/CXを使用してWindowsストアアプリを開発する場合、XAMLエディタを始めとしたRAD環境を使用できる。
また、旧来のWin32/MFCアプリケーション(もしくはDLL)に共通言語基盤 (CLI) のサポートを追加することで、.NET Frameworkのクラスライブラリを併用するハイブリッド開発も行なえる。これにより、例えばVisual C#/VB.NETで.NET基本クラスライブラリを使って開発したロジックライブラリや、Windows Forms/WPFを使って開発したGUI部品を、Win32/MFCアプリケーションで利用する、という相互運用が(制約付きではあるが)可能となっている。
Visual C++ 8.0 (2005) 以降は64ビット命令の生成に対応している。付属するコンパイラには、コンパイラが動作する環境と同じネイティブコードを生成するものと、32bit (x86) 環境で動作して 64bit (x64またはIA-64) ネイティブコードを出力するもの (クロスコンパイラ) がある。32ビット (x86) 環境上であってもクロスコンパイルすることができる。Visual C++ 11.0 (2012) 以降はARMプロセッサ向けのコード生成にも対応している。Visual C++ 14.1 (2017) 以降では、ARM64アーキテクチャのネイティブアプリケーション開発にも対応した (Visual Studio 2017 v15.9以降が必要)[2]。
Windows用マルチメディアコンポーネントであるDirectXを使用してアプリケーション開発を行う場合に必要となるヘッダーファイルなどはWindows SDKに含まれているが、DirectX API は主にVisual C++シリーズで利用されることを前提に開発されているため、親和性が非常に高い。なお、Windows SDK 7.1までは最新のDirectX APIや各種ツール類を使用する場合は単独のDirectX SDK(単独の最終バージョンはJune 2010となっている)を別途インストールする必要があったが、Windows SDK 8.0以降は(D3DXライブラリなどの一部を除いて)最新のヘッダーおよびインポートライブラリファイルや各種ツール類がWindows SDKに含まれるようになった。
Visual Studio 2015では、AndroidおよびiOS向けのモバイルアプリケーションを開発できるようになった。ビルドシステムとしてMSBuildが使われるが、コンパイラはMSVCではなくClangが使われる。
言語
Visual C++のコンパイラは、C, C++, C++/CLI, C++/CXのソースコードを入力に受け付ける。
C言語規格に関しては、Visual C++ 9.0 (2008) SP1の時点ではANSI C89 (ISO C90, ISO/IEC 9899:1990) 対応[3]であり、C99やC11には対応していない(//
で始まるコメントやlong long intなどは言語拡張としてサポートされている)。Visual C++ 12.0 (2013) では、全てではないがC99の関数の大半を追加した[4]。Visual C++ 14.1 (2017) では、C99プリプロセッサの部分的なサポートが追加された (Visual Studio 2017 v15.8以降)[5]。Visual C++ 14.2 (2019) では、C11/C17の必須機能のサポートが追加された (Visual Studio 2019 v16.8以降)[6]。
C++言語規格に関しては、Visual C++ 9.0 (2008) SP1の時点でC++98 (ISO/IEC 14882:1998) 規格に対応している[7]。Visual C++ 10.0 (2010) では、auto、decltype、ラムダ式、rvalue reference(右辺値参照)、static_assert、nullptrなど、C++11規格で追加された機能を一部規格制定に先行して実装した[8]。Visual C++ 11.0 (2012) では、Strongly typed enums、Forward declared enums、Standard-layout and trivial types、Range-based for-loop などのC++11規格を実装した[9]。Visual C++ 12.0 (2013) では、Initializer lists、Alias templates、Delegating constructors、Raw string literals などのC++11規格を追加実装した[10]。Visual C++ 14.0 (2015) では、constexpr、Unicode string literalsなどのC++11規格を追加実装し、またBinary literalsなどのC++14規格を一部実装した[11]。Visual Studio 2017 15.0のVisual C++ 14.1 (2017) では、C++14規格の追加機能をすべてサポートしたが、C++11規格の一部がサポートされていない[12]。Visual Studio 2017 15.7においてC++17規格の追加機能をすべてサポートしたが、C++11規格のうちC99プリプロセッサ (N1653) がサポートされていない[13][14][15]。また、__cplusplus
の定義値は既定で199711L
となっているが、コンパイルオプション/Zc:__cplusplus
を指定することで、C++言語標準モード設定に応じて201402L
などに変化する[16]。
主なコンパイラの拡張
- インラインアセンブラ
- _asmや__asmキーワードによる記述。C++の標準規格で定められているasm文には対応していない。x64/IA64では使用できず、別途アセンブラで記述するか組込関数で代替する。
- コンパイラCOM対応
- #importディレクティブ及び追加のクラス・関数など。
- 属性
- マイクロソフトインターフェイス定義言語MIDLの属性を直接C++ソースコードに記述する機能。なお、マネージ拡張C++、C++/CLI、およびC++/CXの属性も同様の構文を使用する。
- OpenMP
- Visual C++ 2005からOpen MP 2.0に対応している[17]。2010まではProfessional以上のエディションでのみ使用可能となっていたが[18][19][20]、2012ではExpressを含む全エディションで使用が可能となった[21]。
- ネイティブC++でのC++/CLI構文の使用
- for each[22]及びoverride, abstract, sealed[23]。このうち、overrideはC++11のoverrideと同様の構文である。また、sealedはC++11のfinalキーワードに相当する(sealed自体はさらにもとを辿ればマイクロソフト発のプログラム言語C#からの由来である)。Visual C++ 2012では、sealed、finalのうちどちらでも使うことができるが、標準C++クラスにはfinalを、C++/CXのrefクラス(Windowsランタイムクラス)にはsealedを使うことが推奨されている[24]。
- Type Traits対応
- __is_podキーワードなど[25]。
- .NET/WinRT対応
- 後述する。
- その他
- __declspec、呼出規約の指定、プロパティ構文(__declspec(property))、構造化例外処理、#pragmaディレクティブ、SAL注釈[26]など。
主なライブラリの拡張
- 追加のCRT関数
- MS-DOS時代に由来するもの、POSIX互換のもの、セキュリティ強化のためのものなど
- コンパイラ組込関数
- MMX, SSE, SSE2やその他CPU命令に対応するもの
- stdext名前空間
- hash_map, hash_setなど
- msclr名前空間
- C++マネージ拡張およびC++/CLI用の追加ライブラリ [27]
- STL/CLR
- C++/CLIでのSTL風のライブラリ [28]
- 同時実行ランタイム (Concurrency Runtime)
- 並列パターンライブラリなどから構成される、C++11ベースの並列処理ライブラリ [29]
- C++ AMP
- GPUなどのアクセラレータを使った並列処理ライブラリ(言語拡張を含む)[30]
特に、Visual C++ 2005ではバッファオーバーフローやマルチスレッドでの安全性の向上のため、大幅なライブラリの拡張が行われた[31][32]。Cの関数にはstrcpyに対してstrcpy_sのように末尾に_sを追加した名称のものが該当し、その大半はISO Cの標準化委員会へTR 24731として提案されている。また、C++でも_sを付けたメンバ関数の追加(std::basic_istream::readに対して_Read_sのように)や範囲チェック付イテレータ[33]などの追加が行われている。
なお、Visual C++ 2008にService Pack 1 (SP1) を適用すると、C++0x TR1対応ライブラリや、MFCでのVisual Studio風スマートドッキングウィンドウおよびOffice 2007風リボンインターフェイス作成のための拡張パッケージ(MFC Feature Pack)が追加される[34]。また、Visual C++ 2010にSP1を適用すると、Direct2DやWindows Animation ManagerのMFC用ラッパークラスが追加される[35]。
マネージ拡張C++
マネージ拡張C++ (Managed Extensions for C++、Managed C++) は.NET Frameworkに対応したアプリケーションを作成するため、C++を共通言語仕様CLSに準拠させるために独自の拡張を施したものであり[36]、Visual C++ .NET 2002以降に搭載されている。これに対し従来のC++をマネージ拡張C++と区別する際にはネイティブC++ (もしくはアンマネージC++) と呼ぶ[37]。1つのアプリケーション内にマネージ拡張C++とネイティブC++のコードを混在[38]させることも可能であり、従来のC++で書かれたコードを徐々に.NETへ移行したり、あるいは他の.NET言語からC++で作られたライブラリを使用したり、C++コードから.NET Frameworkのクラスライブラリを活用するなどといったこと(相互運用)を可能にしている(グルー言語)。後継となるC++/CLIの登場により、マネージ拡張C++の使用は推奨されなくなっている[39]。Visual C++ 2005-2013では、非推奨ではあるが互換性維持のため従来のマネージ拡張C++のソースコードもコンパイルオプション「/clr:oldSyntax」を指定することでコンパイルできる[40]が、Visual C++ 2015で廃止された。
C++/CLI
C++/CLIは(文法に不明瞭な部分のあった)マネージ拡張C++に代わる、CLSを満たすC++を基にしたプログラミング言語であり、Visual C++ 2005以降に搭載されている。なおC++/CLI環境では、従来のC++はアンマネージではなくネイティブと形容される。
C++/CX
C++/CX (component extensions) は、Windowsストアアプリ (UWPアプリ) で使用されるWindowsランタイム (WinRT) ライブラリを効率よく利用するために、C++11規格をベースとして拡張されたプログラミング言語であり、Visual C++ 2012以降に搭載されている。なお、言語構文は前述のC++/CLIとよく似ているが、C++/CXはC++/CLIとは違ってマネージ言語ではなく、ネイティブ拡張である。そのため、従来のネイティブC/C++用コードやCRTライブラリはほぼそのまま利用できるが、.NET Frameworkを直接扱うことはできない。また、C++/CLIとは同一ソースコード内に共存できない。Windowsランタイムコンポーネント (.winmd) を通じてC#やVB.NETと相互運用することができる。
C++/WinRT
Visual Studio 2015 Update 3以降では、C++/CX言語拡張を使わずに、C++/WinRTと呼ばれる拡張ライブラリを用いてUWPアプリを開発することも可能となっている[41]。C++/WinRTはC++17準拠コンパイラを必要とする[42]。
その他の機能・特徴
32ビット/64ビット向けのVisual C++では、C/C++のlong double型は互換性のためだけに残されており、80ビットの拡張倍精度や128ビットの四倍精度をサポートしない[43]。
Visual C++ 2005以降は/archコンパイルオプションによって、コンパイラ(オプティマイザ)は必要に応じて浮動小数演算にFPUでなくSSE/SSE2を使ったコードを出力できるようになるが、x64のようにすべての浮動小数演算命令がSSE2になるとは限らない[44]。また、Visual C++ 2010以降はAVX命令の使用もサポートしている。Visual C++ 2013 Update 2以降はAVX2命令の使用もサポートしている[44]。
無料版
Visual C++はエディションによってサポートする機能に違いがあるが、プログラミング初心者やアップグレード検討者向けに、Windows用クラスライブラリなどが付属しない無料版がマイクロソフトによって公開されている。無料版といえど、バージョンアップのたびに標準サポートされる機能が追加されており、VC 2005以降ではIDEのIntellisenseやデバッガなどの基本機能はStandardエディション以上の有料版と変わらず、簡単なアプリケーションやライブラリを作成するには必要十分といえる。なおExpressエディションの提供はバージョン2013までとなり、以降はCommunityエディションに統合される予定[45]だったが、その後撤回され、Visual Studio 2015においてもExpressエディションが提供されることになった[46]。
- Visual C++ ToolKit 2003
- 2003年にプロフェッショナル版と同等の最適化機能のあるコンパイラ(IDEではない)が無料で提供された。ただし、それ以前から.NET Framework SDKにスタンダード版相当のコンパイラ(最適化機能無し)が付属していた。なお、後述するVisual C++ 2005 Express Editionの公開に伴って、現在はこちらの公開は終了している。
- Visual C++ 2005 Express Edition
- 2005年12月からIDEが付いて無料で公開され、2009年3月31日に配布を終了した。マイクロソフトがIDE製品の正式版を無料で公開したのはeMbedded Visual Toolsに続いてこれが2作目である。なお、MFCとATLは付属していない。また、Windows APIを用いたプログラムを作成するには別途Windows SDKをインストールする必要がある。
- Visual C++ 2008 Express Edition
- 2007年12月18日公開。ATLやMFCが付属しない点はVisual C++ 2005 Express Editionと同じであるが、Windows SDKが標準で同梱されるようになり、Win32アプリケーションの開発に必要なWindows SDKを別途用意する必要がなくなった。
- Microsoft Visual C++ Compiler for Python 2.7
- Windows版Pythonの拡張モジュールのバイナリパッケージはPythonのバージョンとCランライムライブラリのバージョンに強い依存関係があり、それに対応するために配布されている。VC++ 2008のコンパイラに相当し、IDEは付属しない。
- Visual C++ 2010 Express
- 2010年4月28日公開。Visual C++ ソリューションおよびプロジェクトがXMLベースのMSBuildを使用してビルドするようになり、他のVisual Studio言語で使用されるビルドシステムと同じになった。
- Visual Studio Express 2012 for Windows 8
- Visual Studio Express 2012 for Windows Desktop
- 2012年9月12日公開。今バージョンではVisual C++単独の製品は無くなりC#、VB.NETと共にインストールされる。
- Visual Studio Express 2013 for Windows
- Visual Studio Express 2013 for Windows Desktop
- 2013年10月17日公開。
- Visual Studio Community 2013
- 2014年11月13日公開[47]。Expressエディションと比較して利用規約は厳しくなっているが、機能的にはProfessional版と同等。これまで有償版でしか使えなかったMFC、ATLも付属する。
- Visual Studio Express 2015 for Windows
- Visual Studio Express 2015 for Desktop
- Visual Studio Community 2015
- 2015年7月20日公開[48]。
- Visual C++ Build Tools 2015
- VC++ 2015のコンパイラに相当する。IDEは付属しないがATLとMFCが付属している。
- Visual Studio Community 2017
- Visual C++ Build Tools 2017
- Visual Studio Express 2017 for Windows Desktop
- Build Tools for Visual Studio 2019
ほかにも、バージョン7.1までの Windows SDK (旧Platform SDK) とバージョン7.1までのWindows Driver KitにもVisual C++コンパイラが付属していた。 またバージョン10 1511のWindows Driver KitからはEnterprise Windows Driver Kitと呼ばれるコンパイラ等が付属するバージョンのWDKの配布が再開された。
Visual C++ Build Toolsは、ビルドサーバーや継続的インテグレーション (CI) 等、GUIを使用せずバッチ処理的にビルドを行う環境での使用を意図されたものである。統合開発環境を含む通常のVisual Studioを補完する製品という位置付けであり、Visual Studioの正規ユーザーが使用することが前提になっている。
製品バージョンと内部バージョン
Visual C++の製品バージョンは、バージョン6.0までは内部バージョンと同じ番号が付けられていたが、2002以降は内部バージョンではなくリリース予定年を冠するようになった。なお、Visual C++にはコンパイラのバージョンを表す _MSC_VER
および _MSC_FULL_VER
というプリプロセッサ シンボルが存在する[49]が、これはVisual C++の前身であるMS-DOS用C/C++コンパイラ(通称MS-C)からの通し番号となっており、コンパイラ本体である cl.exe のファイルバージョンを表している。(このようにユーザーを混乱させかねない複数のバージョン表記は、Windowsと共通するものがある。)
製品名 | 製品バージョン | 内部バージョン | _MSC_VER | リリース | 備考 |
---|---|---|---|---|---|
C Compiler 1.0 | - | - | 100 | 1983年 | Latice Cを元にした MS-DOS用コンパイラ。K&R未対応。 |
C Compiler 2.0 | - | - | 200 | Large Model 対応。 | |
C Compiler 3.0 | - | - | 300 | 1985年 | K&R対応。 |
C Compiler 4.0 | - | - | 400 | オプティマイズ強化。ソースレベルデバッガのCodeViewを付属。 | |
C Compiler 5.0 | - | - | 500 | 1987年 | ループオプティマイズ。Huge Model対応。廉価版としてQuick C 1.0 |
C Compiler 5.1 | - | - | OS/2 1.0対応。廉価版として Quick C 2.0 (1989) | ||
C Compiler 6.0 | - | - | 600 | 1989年 | Windowsプログラミングには別途SDKが必要。 |
C/C++ Compiler 7.0 | - | - | 700 | 1992年 | MFCが付属した最初のバージョン。 |
Visual C++ 1.0 | 1.0 | 1.0 | 800 | 1993年 | 32ビット対応。 |
Visual C++ 1.5 | 1.5 | 1.5 | 800 | 1993年 | |
Visual C++ 1.51 | 1.51 | 1.51 | 800 | Visual C++ 2.0/4.0Pro日本語版に付属。 | |
Visual C++ 1.52c | 1.52 | 1.52c | 800 | 英語版のみ。MS-DOS/Win16バイナリ(プログラム)を作成できる最終バージョン。 | |
Visual C++ 2.0 | 2.0 | 2.0 | 900 | 1995年 | Windows NT対応。32ビット専用。 |
Visual C++ 2.1 | 2.1 | 2.1 | 900 | ||
Visual C++ 2.2 | 2.2 | 2.2 | 900 | ||
Visual C++ 4.0 | 4.0 | 4.0 | 1000 | 1996年 | Windows 95対応 |
Visual C++ 4.1 | 4.1 | 4.1 | 1010 | 1996年 | Win32sで動作するWin32バイナリ(プログラム)を作成できる最後のバージョン。 |
Visual C++ 4.2 | 4.2 | 4.2 | 1020 | 1996年 | |
Visual C++ 5.0 | 5.0 | 5.0 | 1100 | 1997年 | |
Visual C++ 6.0 | 6.0 | 6.0 | 1200 | 1998年 | |
Visual C++.NET 2002 | 2002 | 7.0 | 1300 | 2002年 | マネージ拡張C++のサポート追加。 |
Visual C++.NET 2003 | 2003 | 7.1 | 1310 | 2003年 | Windows 95で動作するWin32バイナリ(プログラム)を作成できる最後のバージョン。この製品までは既定の文字コード設定が「マルチバイト文字列を使用する」になっている。 |
Visual C++ 2005 | 2005 | 8.0 | 1400 | 2005年 | Windows 98/Me/NT4で動作するWin32バイナリ(プログラム)を作成できる最後のバージョン。この製品以降は既定で「Unicode文字列を使用する」に変更されている。C++/CLIのサポート追加。上位エディションでコード分析/analyze が使えるようになった[50]。 |
Visual C++ 2008 | 2008 | 9.0 | 1500 | 2007年 | Windows 2000で動作するWin32バイナリ(プログラム)を作成できる最後のバージョン[51]。 IA-64で動作するMFCを使うWin64バイナリ(プログラム)を作成できる最後のバージョン[52]。 |
Visual C++ 2010 | 2010 | 10.0 | 1600 | 2010年 | C++0xへ部分的に対応。IA-64で動作するWin64バイナリ(プログラム)を作成できる最後のバージョン[53]。なお、Visual C++ 2010ではC++/CLI言語のインテリセンス機能が動作しない。 |
Visual C++ 2012 | 2012 | 11.0 | 1700 | 2012年 | (C++0xでなく)C++11へ部分的に対応開始。ただし__cplusplusの定義内容は199711L(C++98を表す)のまま。Windowsストアアプリ対応(WinRT、C++/CX)。C++/CLI言語のインテリセンスの復活。コード生成に関して SSE2 までの拡張命令の使用(/arch:SSE2)がデフォルトになった[54][55][56]。DirectXグラフィックス診断機能(Graphics Diagnostics)の追加。下位エディションでもコード分析が使えるようになった。 |
Visual C++ 2013 | 2013 | 12.0 | 1800 | 2013年 | C++11対応の強化。C99の大半に対応。MFC/ATLのマルチバイト版はバンドルされなくなった[57]。マネージ拡張C++のコンパイルオプション (/clr:OldSyntax) を使用できる最後のバージョン。 |
Visual C++ 2015 | 2015 | 14.0 | 1900 | 2015年 | C++11/C++14対応の強化。リファクタリング機能の実験的サポート[58]。 |
Visual C++ 2017 | 2017 | 14.1 | 1910[59] | 2017年 | C++11/C++14/C++17対応の強化。CMake対応の追加など[60]。Windows XPで動作するバイナリを作成できる最後のバージョン[61]。 |
Visual C++ 2019 | 2019 | 14.2 | 1920[59] | 2019年 | C++20対応の強化。OpenMP 4.0 SIMDベクトル化の実験的サポート[62][63]。C++ IntelliCodeが付属[64]。Visual Studio 2017で実験的に追加された[65]エディター内C++コード分析の正式サポート[66]。 |
Visual C++ 2022 | 2022 | 14.3 | 1930 | 2021年 | C++20/対応の強化。C++23の部分的対応。[67]。 |
ランタイムライブラリの互換性
Visual C++ (以下VC) のCRT (C Runtime) ライブラリは、コンパイルオプションによって静的リンクあるいは動的リンクを選択することができる[68]。DLLおよびEXEにVCランタイムを動的リンクする場合、DLL/EXE自体のファイルサイズを削減できるなどのメリットがあるが、アプリケーションの実行にはVCバージョンごとのランタイムライブラリモジュールが実行環境に必要となる(例えばVC2010の場合は msvcr100.dll や msvcp100.dll など)。MFC/CLR/OpenMP/C++ AMPを利用して作成されたDLL/EXEの場合はさらにそれぞれのランタイムライブラリが必要となる。エンドユーザー環境向けにVCランタイムライブラリの再頒布可能 (redistributable) パッケージがインストーラー形式で提供されているが、このインストーラーにはデバッグバージョンのライブラリは含まれない。Windowsのバージョンによっては、特定のバージョンのVCランタイムのサブセットがシステムコンポーネントとしてプリインストールされている。
VCのランタイムライブラリは、バージョンごとにCRTオブジェクトのメモリ管理がなされていた。そのため、異なるバージョンのVC間でDLL境界を越えてCRTオブジェクトの寿命を管理することはできなかった。例えば古いバージョンのVCで作成されたDLL内でmalloc/newしたオブジェクトを、新しいバージョンのVCで作成されたアプリケーションでfree/deleteしたり、逆に新しいVCで作成されたDLL内でmalloc/newしたオブジェクトを、古いVCで作成されたアプリケーションでfree/deleteしたりすることは、ヒープ破壊などの実行時エラーや未定義動作を招く原因となる[69]。メモリの確保と解放はモジュールごとに閉じていなければならず、モジュール外に確保と解放の処理を公開するためにはDLL関数によるラッピングが必要となる。
VC2015ではUniversal CRTが導入され、またVC2017およびVC2019ではランタイムに破壊的変更がなくVC2015との互換性があるため、一定の条件が満たされればDLL境界を越えてCRTオブジェクトの寿命を管理することができる[70][71][72][73]。Windows 10の場合、Universal CRTはシステムコンポーネントとして標準インストールされているが、それよりも前のバージョンのWindowsではWindows Updateや再頒布可能パッケージによるシステムディレクトリへのインストール(集中配置)、あるいはアプリケーションごとのローカル配置などの手段を利用する必要がある[74][75][76][77][78][79]。
脚注
- ^ Visual C++ What's New 2003 through 2015 | Microsoft Docs
- ^ Microsoft、「Visual Studio 2017 15.9」でArm64アプリ開発を正式サポート:64bit Armアプリの作成が容易に - @IT
- ^ ANSI Conformance | Microsoft Docs
- ^ C99 library support in Visual Studio 2013 | C++ Team Blog
- ^ Microsoft C++ language and standard library conformance table | Microsoft Docs
- ^ C11 and C17 Standard Support Arriving in MSVC | C++ Team Blog
- ^ “標準 C++ プログラムの作成 (C++)”. MSDN ライブラリ. マイクロソフト (2007年11月). 2009年12月1日閲覧。
- ^ Visual C++ 2010 の新機能
- ^ C++11 Features in Visual C++ 11
- ^ Support For C++11 Features (Modern C++)
- ^ C++11/14/17 Features In VS 2015 RTM - Visual C++ Team Blog - Site Home - MSDN Blogs
- ^ Visual Studio 2017 リリース ノート
- ^ Visual C++ Language Conformance | Microsoft Docs
- ^ Announcing: MSVC Conforms to the C++ Standard | Visual C++ Team Blog
- ^ コンパイラの実装状況 - cpprefjp C++日本語リファレンス
- ^ MSVC now correctly reports __cplusplus | Visual C++ Team Blog
- ^ Visual C++ の OpenMP
- ^ Visual C++ Editions (2005)
- ^ Visual C++ Editions (2008)
- ^ Visual C++ Editions (2010)
- ^ Visual C++ Tools and Templates in Visual Studio Editions
- ^ How to: Iterate Over STL Collection with for each
- ^ How to: Declare Override Specifiers in Native Compilations
- ^ sealed (C++ Component Extensions)
- ^ Compiler Support for Type Traits
- ^ SAL注釈
- ^ msclr 名前空間
- ^ STL/CLR ライブラリ リファレンス
- ^ 同時実行ランタイム
- ^ C++ AMP (C++ Accelerated Massive Parallelism)
- ^ CRTのセキュリティ強化
- ^ Safe Libraries: Standard C++ Library
- ^ Checked Iterators
- ^ Visual C++ 2008 用の MFC Feature Pack
- ^ Visual Studio 2010 SP1 用の MFC の追加
- ^ C++ マネージ拡張プログラミング (C++)
- ^ ネイティブ C++ アプリケーションの再頒布
- ^ 混在 (ネイティブおよびマネージ) アセンブリ
- ^ /clr (共通言語ランタイムのコンパイル)
- ^ /clr (共通言語ランタイムのコンパイル) (C++)
- ^ C++ - C++/WinRT の紹介
- ^ Introduction to C++/WinRT - Windows UWP applications | Microsoft Docs
- ^ Long Double 型
- ^ a b /arch (x86) | Microsoft Docs
- ^ Microsoft、“Professional”相当の無償版「Visual Studio Community 2013」を公開 - 窓の杜
- ^ Visual Studio 2015 の製品ラインアップを発表 - Visual Studio 日本チーム ブログ - Site Home - MSDN Blogs
- ^ ニュース - MSが「Visual Studio Community」を発表、無償でAndroid/iOSアプリも開発可能:ITpro
- ^ Microsoft、統合開発環境「Visual Studio 2015」を正式公開 - 窓の杜
- ^ 定義済みマクロ
- ^ Visual C++ 2003 ~ 2015 の新機能 | Microsoft Docs
- ^ “Application statically linked with Visual C++ 2010 C/C++ runtime fails to launch with error ‘The procedure entry point EncodePointer could not be located in the dynamic link library KERNEL32.dll’.” (英語). サポート技術情報. マイクロソフト (2009年10月29日). 2009年12月14日閲覧。
- ^ “Breaking Changes” (英語). 2009年12月26日閲覧。
- ^ “Windows Server 2008 R2 to Phase Out Itanium” (英語). 2010年5月11日閲覧。
- ^ コンパイラの判断によって32bit版アプリケーションでも SSE2 命令が使われる可能性がある。
- ^ Breaking Changes in Visual C++ | Microsoft Docs
- ^ 浮動小数点の移行に関する問題 | Microsoft Docs
- ^ Unicode とマルチバイト文字セット (MBCS: Multibyte Character Set) のサポート
- ^ Visual Studio 2015 における Visual C++ の新機能
- ^ a b Visual Studioのアップデートに伴い、
_MSC_VER
の最下位の桁も更新されるようになっている。 - ^ Visual Studio 2017 (バージョン 15.0) リリース ノート
- ^ Visual Studio 2019 プレビューでの非推奨の C++ 機能 | Microsoft Docs
- ^ SIMD Extension to C++ OpenMP in Visual Studio | C++ Team Blog
- ^ /openmp (Enable OpenMP Support) | Microsoft Docs
- ^ Visual Studio 2019 リリース ノート | Microsoft Docs
- ^ New, experimental code analysis features in Visual Studio 2017 15.8 Preview 3 | C++ Team Blog
- ^ In-editor code analysis in Visual Studio 2019 Preview 2 | C++ Team Blog
- ^ https://learn.microsoft.com/ja-jp/cpp/overview/what-s-new-for-visual-cpp-in-visual-studio?view=msvc-170]
- ^ /MD, -MT, -LD (Use Run-Time Library) | Microsoft Docs
- ^ Potential Errors Passing CRT Objects Across DLL Boundaries | Microsoft Docs
- ^ C++ Binary Compatibility between Visual Studio 2015 and Visual Studio 2019 | Microsoft Docs
- ^ Visual C++ change history 2003 - 2015 | Microsoft Docs
- ^ CRT ライブラリの機能 | Microsoft Docs
- ^ Universal CRT へのコードのアップグレード | Microsoft Docs
- ^ Visual C++ 2015 以降のバージョンの再頒布可能パッケージにおけるインストールの前提条件 – Visual Studio サポート チーム blog
- ^ Visual C++ 2015 アプリケーションでの CRT ローカル配置について – Visual Studio サポート チーム blog
- ^ Introducing the Universal CRT | C++ Team Blog
- ^ Universal CRT deployment | Microsoft Docs
- ^ 最新のサポートされる Visual C++ のダウンロード
- ^ Windows での汎用の C ランタイムの更新プログラム
関連項目
外部リンク
「VC」の例文・使い方・用例・文例
- MPEG-4 AVC録画の実力テスト:使いやすさはもとより、画質・音質の実力も高い。
- 可塑化されたPVC
- 日本の人気テレビドラマの日本での放映が終わって1か月ほど経つと,マレーシアでビデオCD(VCD)が発売されます。
- 3か月間のテレビ番組のVCDは,だいたい500円から2500円くらいします。
- 値段は,そのテレビドラマの人気,最近放送されたかどうか,そのVCDが海賊版かどうかによって決まります。
- ここ2年ほどの間,偽の日本ブランドのビデオCD(VCD)・DVDプレーヤーが中国の市場に出回っている。
- イーグルスの千葉ロッテマリーンズとの開幕戦は千葉市にあるQVCマリンフィールドで行われた。
- 昨年7月,JVCケンウッドが日本のメーカーとして初めて国内市場に参入した。
- 埼玉西武ライオンズのエース,岸(きし)孝(たか)之(ゆき)投手が,5月2日にQVCマリンフィールドで行われた千葉ロッテマリーンズ戦でノーヒットノーランを達成した。
- QVCマリンフィールドの強いことで有名な風のせいで,岸投手は得意のカーブに苦しんだ。
VCと同じ種類の言葉
- >> 「VC」を含む用語の索引
- VCのページへのリンク