Enviar pesquisa
Carregar
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
•
4 gostaram
•
1,434 visualizações
Yoshihisa Ozaki
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 35
Baixar agora
Baixar para ler offline
Recomendados
UEFI presentation
UEFI presentation
Bruno Cornec
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Persistent Systems Ltd.
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Ryo Jin
All about arduino simulation دليل محاكاة أردوينو
All about arduino simulation دليل محاكاة أردوينو
Abdalwahab Noureldien
PART-3 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-3 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
FastBit Embedded Brain Academy
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
Geoffroy Van Cutsem
Windows OS Architecture in Summery
Windows OS Architecture in Summery
Asanka Dilruk
Introduction to Unix
Introduction to Unix
Nishant Munjal
Mais conteúdo relacionado
Mais procurados
UEFI時代のブートローダ
UEFI時代のブートローダ
Takuya ASADA
SnW: Introduction to PYNQ Platform and Python Language
SnW: Introduction to PYNQ Platform and Python Language
NECST Lab @ Politecnico di Milano
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Peter Hlavaty
Linux device drivers
Linux device drivers
Abhishek Sagar
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
The Linux Foundation
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
The Linux Foundation
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
Stefano Stabellini
Spi drivers
Spi drivers
pradeep_tewani
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
Tokoroten Nakayama
Zynq VIPを利用したテストベンチ
Zynq VIPを利用したテストベンチ
Mr. Vengineer
SR-IOV Introduce
SR-IOV Introduce
Lingfei Kong
Uccn1003 -may10_-_lect03b_-_intro_to_cisco_router
Uccn1003 -may10_-_lect03b_-_intro_to_cisco_router
Shu Shin
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
FastBit Embedded Brain Academy
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
The Linux Foundation
U boot-boot-flow
U boot-boot-flow
BabuSubashChandar Chandra Mohan
Multithreading computer architecture
Multithreading computer architecture
Haris456
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Stefano Stabellini
Q4.11: ARM Architecture
Q4.11: ARM Architecture
Linaro
Mais procurados
(20)
UEFI時代のブートローダ
UEFI時代のブートローダ
SnW: Introduction to PYNQ Platform and Python Language
SnW: Introduction to PYNQ Platform and Python Language
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Linux device drivers
Linux device drivers
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
SPI Drivers
SPI Drivers
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
Spi drivers
Spi drivers
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
Zynq VIPを利用したテストベンチ
Zynq VIPを利用したテストベンチ
SR-IOV Introduce
SR-IOV Introduce
Uccn1003 -may10_-_lect03b_-_intro_to_cisco_router
Uccn1003 -may10_-_lect03b_-_intro_to_cisco_router
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
U boot-boot-flow
U boot-boot-flow
Multithreading computer architecture
Multithreading computer architecture
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Q4.11: ARM Architecture
Q4.11: ARM Architecture
Destaque
Investigación operativa 1
Investigación operativa 1
Anibal Velasquez
Diabetes
Diabetes
carolina laverde
Spanish Oral 1
Spanish Oral 1
bravetoaster757
Presentacion club emprendimiento
Presentacion club emprendimiento
clubopeninnovation
Ppt0000001
Ppt0000001
pusy563
Prevencion
Prevencion
Juan Felipe Prieto
Islas-Turisticas-
Islas-Turisticas-
alegutu
FluentNHibernate: Mapeamento Fluente e Automático para o NHibernate
FluentNHibernate: Mapeamento Fluente e Automático para o NHibernate
Comunidade NetPonto
Experiencia de uso como factor crítico de éxito de una aplicación
Experiencia de uso como factor crítico de éxito de una aplicación
Raona
Programacion pin2
Programacion pin2
jbv2012
Piso regional do RS: reajuste e “desorientação espacial”
Piso regional do RS: reajuste e “desorientação espacial”
Fundação de Economia e Estatística
Eu te amo
Eu te amo
JNR
LA OFICINA VIRTUAL Y EL TELETRABAJO
LA OFICINA VIRTUAL Y EL TELETRABAJO
UNJFSC
Practicando con el powerpoint descarga esta presentacion para practicar
Practicando con el powerpoint descarga esta presentacion para practicar
Darío Murillo Pérez
Presentsignos zodiacales
Presentsignos zodiacales
lizbeth
Capitulo 11 (1)
Capitulo 11 (1)
Carlos Luis Navas Chancay
Karolina amrtinez
Karolina amrtinez
karolina
Vent Residencial
Vent Residencial
Alexandre Quadros
Imposto de Renda das Pessoas Jurídicas para Contadores - 9ª Edição - IOB e-Store
Imposto de Renda das Pessoas Jurídicas para Contadores - 9ª Edição - IOB e-Store
IOB News
4ª Pesquisa IOB SPED/NF-e
4ª Pesquisa IOB SPED/NF-e
IOB News
Destaque
(20)
Investigación operativa 1
Investigación operativa 1
Diabetes
Diabetes
Spanish Oral 1
Spanish Oral 1
Presentacion club emprendimiento
Presentacion club emprendimiento
Ppt0000001
Ppt0000001
Prevencion
Prevencion
Islas-Turisticas-
Islas-Turisticas-
FluentNHibernate: Mapeamento Fluente e Automático para o NHibernate
FluentNHibernate: Mapeamento Fluente e Automático para o NHibernate
Experiencia de uso como factor crítico de éxito de una aplicación
Experiencia de uso como factor crítico de éxito de una aplicación
Programacion pin2
Programacion pin2
Piso regional do RS: reajuste e “desorientação espacial”
Piso regional do RS: reajuste e “desorientação espacial”
Eu te amo
Eu te amo
LA OFICINA VIRTUAL Y EL TELETRABAJO
LA OFICINA VIRTUAL Y EL TELETRABAJO
Practicando con el powerpoint descarga esta presentacion para practicar
Practicando con el powerpoint descarga esta presentacion para practicar
Presentsignos zodiacales
Presentsignos zodiacales
Capitulo 11 (1)
Capitulo 11 (1)
Karolina amrtinez
Karolina amrtinez
Vent Residencial
Vent Residencial
Imposto de Renda das Pessoas Jurídicas para Contadores - 9ª Edição - IOB e-Store
Imposto de Renda das Pessoas Jurídicas para Contadores - 9ª Edição - IOB e-Store
4ª Pesquisa IOB SPED/NF-e
4ª Pesquisa IOB SPED/NF-e
Semelhante a CLRの基礎 - プログラミング .NET Framework 第3版 読書会
広がる .Net
広がる .Net
信之 岩永
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
170622 02
170622 02
openrtm
Exploring the x64
Exploring the x64
FFRI, Inc.
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
DADA246
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
Daiyu Hatakeyama
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Tadahiro Ishisaka
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
Yohei Azekatsu
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
Ruo Ando
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
NTT DATA Technology & Innovation
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
20050903
20050903
小野 修司
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
信之 岩永
Introduction of Python
Introduction of Python
Tomoya Nakayama
LEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 API
Akira Hatsune
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
20121217 jawsug-yokohama
20121217 jawsug-yokohama
Tetsuya Chiba
Semelhante a CLRの基礎 - プログラミング .NET Framework 第3版 読書会
(20)
広がる .Net
広がる .Net
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
170622 02
170622 02
Exploring the x64
Exploring the x64
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
20050903
20050903
TypeScriptへの入口
TypeScriptへの入口
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
Introduction of Python
Introduction of Python
LEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 API
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
20121217 jawsug-yokohama
20121217 jawsug-yokohama
Mais de Yoshihisa Ozaki
Microsoft edge insider channelsがリリースされました
Microsoft edge insider channelsがリリースされました
Yoshihisa Ozaki
Microsoft によるオープンなweb デバッグ環境 comm tech festival-
Microsoft によるオープンなweb デバッグ環境 comm tech festival-
Yoshihisa Ozaki
Microsoft Edge F12 開発者ツール
Microsoft Edge F12 開発者ツール
Yoshihisa Ozaki
Microsoft新しいブラウザーのウワサ
Microsoft新しいブラウザーのウワサ
Yoshihisa Ozaki
Internet Explorer 11 August UpdateのF12 開発者ツール
Internet Explorer 11 August UpdateのF12 開発者ツール
Yoshihisa Ozaki
Visual studio 14 CTP2 概要
Visual studio 14 CTP2 概要
Yoshihisa Ozaki
Windows 8.1 Update 1で更新されたInternet Explorer 11のF12開発者ツールアップデート
Windows 8.1 Update 1で更新されたInternet Explorer 11のF12開発者ツールアップデート
Yoshihisa Ozaki
Internet Explorer 11 の F12 開発者ツール
Internet Explorer 11 の F12 開発者ツール
Yoshihisa Ozaki
Internet Explorer 11 概要
Internet Explorer 11 概要
Yoshihisa Ozaki
C#coding guideline その2_20130325
C#coding guideline その2_20130325
Yoshihisa Ozaki
C# コーディングガイドライン 2013/02/26
C# コーディングガイドライン 2013/02/26
Yoshihisa Ozaki
Ie10正式リリース版のhtml5 css3
Ie10正式リリース版のhtml5 css3
Yoshihisa Ozaki
Code Pack の話
Code Pack の話
Yoshihisa Ozaki
Mais de Yoshihisa Ozaki
(13)
Microsoft edge insider channelsがリリースされました
Microsoft edge insider channelsがリリースされました
Microsoft によるオープンなweb デバッグ環境 comm tech festival-
Microsoft によるオープンなweb デバッグ環境 comm tech festival-
Microsoft Edge F12 開発者ツール
Microsoft Edge F12 開発者ツール
Microsoft新しいブラウザーのウワサ
Microsoft新しいブラウザーのウワサ
Internet Explorer 11 August UpdateのF12 開発者ツール
Internet Explorer 11 August UpdateのF12 開発者ツール
Visual studio 14 CTP2 概要
Visual studio 14 CTP2 概要
Windows 8.1 Update 1で更新されたInternet Explorer 11のF12開発者ツールアップデート
Windows 8.1 Update 1で更新されたInternet Explorer 11のF12開発者ツールアップデート
Internet Explorer 11 の F12 開発者ツール
Internet Explorer 11 の F12 開発者ツール
Internet Explorer 11 概要
Internet Explorer 11 概要
C#coding guideline その2_20130325
C#coding guideline その2_20130325
C# コーディングガイドライン 2013/02/26
C# コーディングガイドライン 2013/02/26
Ie10正式リリース版のhtml5 css3
Ie10正式リリース版のhtml5 css3
Code Pack の話
Code Pack の話
Último
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
yoshidakids7
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
ssuserf8ea02
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
honeshabri
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG-Audio
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
iPride Co., Ltd.
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
IGDA Japan SIG-Audio
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
Takayuki Nakayama
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
Naomi Yamasaki
チームで開発するための環境を整える
チームで開発するための環境を整える
onozaty
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
sugiuralab
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
Hideki Saito
Último
(12)
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
チームで開発するための環境を整える
チームで開発するための環境を整える
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
1.
プログラミング .NET Framework
第3版 ~第1部 CLRの基礎
2.
尾崎 義尚 Ozaki
Yoshihisa • Twitter:@yoshioms • http://d.hatena.ne.jp/yoshioms/ • 詳細プロファイル:http://bit.ly/yoshioms • 3月末で会社を退社。現在、無職 • 家族構成: – 僕:無職 – 妻:専業主婦 – 猫A – 猫B(C)
3.
プログラミング .NET Framework
第3版 CLR via C# Third Edition
4.
プログラミング.NET Framework 第3版 •
936ページ(第2版は、736ページ) – 20%以上も増量!
5.
プログラミング.NET Framework 第3版 •
体重1.4kg
6.
プログラミング.NET Framework 第3版 •
体重1.4kg
7.
序文 19ページ
8.
参加者のタイプを想定
CLR GC FCL タイプシステム Dynamic Serialize Threading アーキテクチャ 業務 開発プロセス ハードウェア フレームワーク コーディング 序文
9.
筆者紹介 • 著者: Kristin
Trace(Jeffreyの妻) • Aidan(6歳)、Grant(2歳)の母
10.
Jeffrey Richter Wintellect Co-Founder 出身校:
ドレクセル大学 Computer Science 居住地: Kirkland, Washington 出身地: フィラデルフィア
11.
序文候補者ランキング 1
Bill Gates アメリカ合衆国の実業家 2 Steve Ballmer アメリカ合衆国の実業家 3 Catherine Zeta-Jones イギリスの女優 ・・・ 14 Kristin Trace 主婦
12.
Catherine Zeta-Jones •
誕生日:1969年9月25日 (41歳) • 国籍:イギリス • 職業:女優 • 配偶者:Michael Douglas • 主な作品: – マスク・オブ・ゾロ – トラフィック – シカゴ 接点
14.
第1部 CLRの基礎
15.
今回やろうとしていること コンパイル
読み込み 起動
16.
今回やろうとしていること コンパイル
読み込み 起動
17.
コンパイル ソースファイル
コンパイラ アセンブリ CSC VBC 中間言語 (IL: Intermediate Language)
18.
アセンブリの構造 • Windows PE(Portable
Executable) – PEとは、要はCOFF(Common Object File Format) • Unixなどでも使われているオブジェクト ファイル フォー マット 実行ファイル MS-DOS 未 OEM MS-DOS 2.0 未 PEヘッダ セクションヘッダ インポート ページ 2.0 互換 使 情報 スタブ & 使 Import Information ヘッダ 用 リロケーション 用 Export Information ・・・ テーブル Base relocations Resource Information MS-DOS Stub PE Signature COFF File Header Option Header “This program cannot Machine Magic “PE”¥0¥0 be run in DOS mode” MajorLinkerVersion NumberOfSections MinorLinkerVersion TimeDateStamp SizeOfCode SizeOfInitializedData PointerToSymbolTable SizeOfUninitializedData AddressOfEntryPoint NumberOfSymbols BaseOfCode SizeOfOptionalHeader Characteristics
19.
ファイルヘッダの確認 dumpbin /HEADERS a.exe
20.
プラットフォーム指定による動作(/platform) /platform
x86 Windows x64 Windows IA64 Windows なし 32ビット 64ビット 64ビット anycpu x86 32ビット WoW64 WoW64 x64 動作しない 64ビット 動作しない Itanium 動作しない 動作しない 64ビット 通常は指定なし(anycpu)でよい
21.
X64プラットフォーム指定 C:¥Windows¥Microsoft.NET¥Framework64¥v4.0.30319¥csc /platform:x64 a.cs
Windows 7 x86 x64 app
22.
プラットフォーム別Stack x86 OS
Windows 7 x86 anycpu app
23.
プラットフォーム別Stack x64 OS Windows
7 x64 anycpu app Windows 7 x64 Windows 7 x64 x64 app x86 app
24.
アセンブリの内部構造 • アセンブリの内部構造
マニフェスト マニフェスト メタデータ メタデータ コード (IL) コード (IL) リソース リソース .EXE .DLL
25.
アセンブリの中身 – マニフェスト
// Metadata version: v4.0.30319 .assembly extern mscorlib アセンブリ { メタデータ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z¥V.4.. .ver 4:0:0:0 } .assembly a { 型メタデータ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ct or(int32) = ( 01 00 08 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.cto r() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. .hash algorithm 0x00008004 .ver 0:0:0:0 } .module a.exe // MVID: {65EF1A30-A0C7-42B6-8BC9-EA8332F6DEFC} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY // Image base: 0x018E0000
26.
最適化スイッチ(/optimize /debug) P15 /optimize
/debug IL最適化 JIT最適化 - - × ○ IL読書用 - (+ | full | pdbonly) × × Debugビルド + どれでも ○ ○ Releaseビルド Edit & Continue用 /optimize- Nop / 分岐命令 .pdbファイルの生成 /debug+ デバッグ可能属性の付与→JITへの通知
27.
今回やろうとしていること コンパイル
読み込み 起動
28.
アセンブリの依存関係
dumpbin /DEPENDENTS a.exe mscoree.dll にのみ依存している。 x86 C:¥Windows¥System32 X64, IA64 64ビット版:C:¥Windows¥System32 32ビット版:C:¥Windows¥SysWoW64
29.
アセンブリのロード • Fx4.0からは、mscoreei.dllが追加されている .NET
Framework 2.0 %systemroot%¥ %windir%¥Framework¥v2.x¥ a20.exe mscoree.dll mscorwks.dll Shim .NET Framework 4.0 %systemroot%¥ %windir%¥Framework¥v4.x¥ %windir%¥Framework¥v4.x¥ a40.exe mscoree.dll mscoreei.dll clr.dll Shim
30.
Shim
Assembly CLR Shim = mscoree.dll
31.
なぜShimが2重化したのか • バージョンが上がるごとに再起動が必要だった C:¥
Windows これを更新するには、再起 System32 動が必要 Microsoft.NET ここなら大丈夫☺ Framework V5.x
32.
今回やろうとしていること コンパイル
読み込み 起動
33.
起動 • CLR初期化 –
AppDomainの作成 • EXEアセンブリのロード • エントリー・ポイント・メソッド呼び出し
34.
メソッドの呼び出し • 初回は、JITCompilerの呼び出し • 2回目以降はキャッシュされたネイティブ呼び出し
a40.exe mscorlib メソッドテーブル Console NTV ReadLine JIT NTV Native Main() WriteLine JIT { IL var str = Console.ReadLine(): Console.WriteLine(str); } JIT JITCompiler ※メソッドテーブルはイメージです。実際のものとは多少異なる可能性があります。
35.
今回やろうとしていること コンパイル
読み込み 起動
Baixar agora