Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

VCとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 生物 > 生物学 > > VCの意味・解説 

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


ブイ‐シー【VC】

読み方:ぶいしー

venture capital》⇒ベンチャーキャピタル


ブイ‐シー【VC】

読み方:ぶいしー

voluntary chain》⇒ボランタリーチェーン


ブイ‐シー【VC】

読み方:ぶいしー

virtual channel》⇒仮想回線


アスコルビン酸

分子式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) esterECP剤、VC、ECP【nematicide】
体系名:チオりん酸=O-(2,4-ジクロロフェニル)=O,O-ジエチル、チオりん酸O,O-ジエチルO-(2,4-ジクロロフェニル)


炭化バナジウム

分子式CV
その他の名称炭化バナジウム、Monovanadium monocarbide、一炭化バナジウム、バナジウムカーバイド、Vanadium carbide、VC


%肺活量(%VC)【ぱーせんとはいかつりょう】

性・年齢身長より計算した予測肺活量に対して実際の肺活量が何パーセントであるかを出したものです。肺や胸郭胸部胸骨・ろつ骨・胸椎)の骨格のことです)が硬くなっている状態, 呼吸するときに使う筋肉筋力低下気道閉塞では低値となります。QUPIOでは80%を正常値としています。

肺活量(VC)【はいかつりょう】


VC

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/14 14:29 UTC 版)

VC

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++

(VC から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/15 18:39 UTC 版)

Visual C++
開発元 マイクロソフト
最新版
2022 / 2023年4月11日 (8か月前) (2023-04-11)
対応OS Microsoft Windows
プラットフォーム x86, x64 (WOW64)
種別 統合開発環境
ライセンス Microsoft EULA(プロプライエタリ)※無償版有
公式サイト www.visualstudio.com/ja/vs/cplusplus/
テンプレートを表示

Visual C++ (マイクロソフト ビジュアル シープラスプラス;マイクロソフト ヴィジュアル シープラスプラス)とはマイクロソフト製のCC++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 BasicVisual 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 BasicDelphiのような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]であり、C99C11には対応していない(//で始まるコメントや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作目である。なお、MFCATLは付属していない。また、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と共通するものがある。)

Visual C++バージョンの履歴
製品名 製品バージョン 内部バージョン _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]

脚注

  1. ^ Visual C++ What's New 2003 through 2015 | Microsoft Docs
  2. ^ Microsoft、「Visual Studio 2017 15.9」でArm64アプリ開発を正式サポート:64bit Armアプリの作成が容易に - @IT
  3. ^ ANSI Conformance | Microsoft Docs
  4. ^ C99 library support in Visual Studio 2013 | C++ Team Blog
  5. ^ Microsoft C++ language and standard library conformance table | Microsoft Docs
  6. ^ C11 and C17 Standard Support Arriving in MSVC | C++ Team Blog
  7. ^ 標準 C++ プログラムの作成 (C++)”. MSDN ライブラリ. マイクロソフト (2007年11月). 2009年12月1日閲覧。
  8. ^ Visual C++ 2010 の新機能
  9. ^ C++11 Features in Visual C++ 11
  10. ^ Support For C++11 Features (Modern C++)
  11. ^ C++11/14/17 Features In VS 2015 RTM - Visual C++ Team Blog - Site Home - MSDN Blogs
  12. ^ Visual Studio 2017 リリース ノート
  13. ^ Visual C++ Language Conformance | Microsoft Docs
  14. ^ Announcing: MSVC Conforms to the C++ Standard | Visual C++ Team Blog
  15. ^ コンパイラの実装状況 - cpprefjp C++日本語リファレンス
  16. ^ MSVC now correctly reports __cplusplus | Visual C++ Team Blog
  17. ^ Visual C++ の OpenMP
  18. ^ Visual C++ Editions (2005)
  19. ^ Visual C++ Editions (2008)
  20. ^ Visual C++ Editions (2010)
  21. ^ Visual C++ Tools and Templates in Visual Studio Editions
  22. ^ How to: Iterate Over STL Collection with for each
  23. ^ How to: Declare Override Specifiers in Native Compilations
  24. ^ sealed (C++ Component Extensions)
  25. ^ Compiler Support for Type Traits
  26. ^ SAL注釈
  27. ^ msclr 名前空間
  28. ^ STL/CLR ライブラリ リファレンス
  29. ^ 同時実行ランタイム
  30. ^ C++ AMP (C++ Accelerated Massive Parallelism)
  31. ^ CRTのセキュリティ強化
  32. ^ Safe Libraries: Standard C++ Library
  33. ^ Checked Iterators
  34. ^ Visual C++ 2008 用の MFC Feature Pack
  35. ^ Visual Studio 2010 SP1 用の MFC の追加
  36. ^ C++ マネージ拡張プログラミング (C++)
  37. ^ ネイティブ C++ アプリケーションの再頒布
  38. ^ 混在 (ネイティブおよびマネージ) アセンブリ
  39. ^ /clr (共通言語ランタイムのコンパイル)
  40. ^ /clr (共通言語ランタイムのコンパイル) (C++)
  41. ^ C++ - C++/WinRT の紹介
  42. ^ Introduction to C++/WinRT - Windows UWP applications | Microsoft Docs
  43. ^ Long Double 型
  44. ^ a b /arch (x86) | Microsoft Docs
  45. ^ Microsoft、“Professional”相当の無償版「Visual Studio Community 2013」を公開 - 窓の杜
  46. ^ Visual Studio 2015 の製品ラインアップを発表 - Visual Studio 日本チーム ブログ - Site Home - MSDN Blogs
  47. ^ ニュース - MSが「Visual Studio Community」を発表、無償でAndroid/iOSアプリも開発可能:ITpro
  48. ^ Microsoft、統合開発環境「Visual Studio 2015」を正式公開 - 窓の杜
  49. ^ 定義済みマクロ
  50. ^ Visual C++ 2003 ~ 2015 の新機能 | Microsoft Docs
  51. ^ 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日閲覧。
  52. ^ Breaking Changes” (英語). 2009年12月26日閲覧。
  53. ^ Windows Server 2008 R2 to Phase Out Itanium” (英語). 2010年5月11日閲覧。
  54. ^ コンパイラの判断によって32bit版アプリケーションでも SSE2 命令が使われる可能性がある。
  55. ^ Breaking Changes in Visual C++ | Microsoft Docs
  56. ^ 浮動小数点の移行に関する問題 | Microsoft Docs
  57. ^ Unicode とマルチバイト文字セット (MBCS: Multibyte Character Set) のサポート
  58. ^ Visual Studio 2015 における Visual C++ の新機能
  59. ^ a b Visual Studioのアップデートに伴い、_MSC_VERの最下位の桁も更新されるようになっている。
  60. ^ Visual Studio 2017 (バージョン 15.0) リリース ノート
  61. ^ Visual Studio 2019 プレビューでの非推奨の C++ 機能 | Microsoft Docs
  62. ^ SIMD Extension to C++ OpenMP in Visual Studio | C++ Team Blog
  63. ^ /openmp (Enable OpenMP Support) | Microsoft Docs
  64. ^ Visual Studio 2019 リリース ノート | Microsoft Docs
  65. ^ New, experimental code analysis features in Visual Studio 2017 15.8 Preview 3 | C++ Team Blog
  66. ^ In-editor code analysis in Visual Studio 2019 Preview 2 | C++ Team Blog
  67. ^ https://learn.microsoft.com/ja-jp/cpp/overview/what-s-new-for-visual-cpp-in-visual-studio?view=msvc-170]
  68. ^ /MD, -MT, -LD (Use Run-Time Library) | Microsoft Docs
  69. ^ Potential Errors Passing CRT Objects Across DLL Boundaries | Microsoft Docs
  70. ^ C++ Binary Compatibility between Visual Studio 2015 and Visual Studio 2019 | Microsoft Docs
  71. ^ Visual C++ change history 2003 - 2015 | Microsoft Docs
  72. ^ CRT ライブラリの機能 | Microsoft Docs
  73. ^ Universal CRT へのコードのアップグレード | Microsoft Docs
  74. ^ Visual C++ 2015 以降のバージョンの再頒布可能パッケージにおけるインストールの前提条件 – Visual Studio サポート チーム blog
  75. ^ Visual C++ 2015 アプリケーションでの CRT ローカル配置について – Visual Studio サポート チーム blog
  76. ^ Introducing the Universal CRT | C++ Team Blog
  77. ^ Universal CRT deployment | Microsoft Docs
  78. ^ 最新のサポートされる Visual C++ のダウンロード
  79. ^ Windows での汎用の C ランタイムの更新プログラム

関連項目

外部リンク


「VC」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



VCと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「VC」の関連用語

VCのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



VCのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2024実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
JERICHO CONSULTINGJERICHO CONSULTING
Copyright (C) 2024by Jericho Consulting Co.,Ltd. All Rights Reserved.
アヴィスアヴィス
Copyright(C)Avice,Inc. All Rights Reserved.
独立行政法人科学技術振興機構独立行政法人科学技術振興機構
All Rights Reserved, Copyright © Japan Science and Technology Agency
QUPiOQUPiO
Copyright © 2024 Healthcare Committee, Inc. all rights reserved
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのVC (改訂履歴)、.vc (改訂履歴)、Microsoft Visual C++ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS