アカウント名:
パスワード:
なんかえらく大層みたいだけど、64ビット化って、コンパイルオプションで64bitを選ぶだけでいいんだよね。
ポインタを32bit整数にキャストするとか、そういうレジスタ幅が32bitであることに依存した処理を書いてなけりゃね。
まだポインタで消耗してるの?wwwwwwwwwwwwwwwwwwwww
> ポインタを32bit整数にキャストする
何でそんなことするの。ポインタに使う変数は int *p とかいう感じで、定義するんじゃないの?
なんでと言われてもやる時にはやるもんだよ。コールバックされる関数に渡せる汎用パラメータの型定義がintで、それでポインタを受け渡したいとか。
ほんでもって、LP64環境とLLP64環境を間違えて脆弱性を作り込む、ということを OpenSSLがやってましたね。
ioctlみたいにポインタも整数も渡したい場合に、仮引数の型を整数で定義したりあとはアドレスを数値としてこねくり回したいときに、一旦整数にキャストしたり
chromeはC++で書かれているからポインタだらけ
python とか javascript もインタプリタはC/C++だからポインタだらけ
今時のプログラマにはポインタ使えない人が沢山いるけどポインタ使えないと雇ってくれない仕事も沢山あります
COBOLで作り直せ
リファレンスとしてのポインタなら使うけど、ガチで生のアドレスが入っているポインタは今時どうよと。。Cの欠点は、リファレンス代わりにポインタを使う所だと思う。
C++のリファレンスと他の言語のリファレンスはまた違うからなぁchromeのC++使ってるところはほとんどスマポに包まれてるからいいんじゃないの
ポインタ使ったって問題無い、それが 32bit前提でなければ。
どっかのコードは、ポインタをintにキャストして、また、ポインタにキャストしていた。そんなのがなければ。(intが同時に64bit化してれば、そのまま通るが)
あるいは、昔のEmacsみたいに、上位bitはどうせ使わないから、と他の用途に使っているとアウト。
> 上位bitはどうせ使わないから、と他の用途に使っているとアウト。
昔680x0等がそれで痛い目見たから、x64はアドレスのまだ予約されているビットはオール1であることを強制するような仕様になってたと思う。
本気ですか…ソースDLして見てみ。
この場合のポインタは「参照」を含んでるわけだが……
参照ならアドレス幅なんか関係ねーし完全にイミフ
実行系内部では意味がないわけがない
クラスのメンバにポインタじゃなくて参照を持たせてるとか.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
64bit化 (スコア:0)
なんかえらく大層みたいだけど、
64ビット化って、コンパイルオプションで64bitを選ぶだけでいいんだよね。
Re:64bit化 (スコア:0)
ポインタを32bit整数にキャストするとか、そういうレジスタ幅が32bitであることに依存した処理を書いてなけりゃね。
Re:64bit化 (スコア:1)
まだポインタで消耗してるの?
wwwwwwwwwwwwwwwwwwwww
Re: (スコア:0)
> ポインタを32bit整数にキャストする
何でそんなことするの。
ポインタに使う変数は int *p とかいう感じで、定義するんじゃないの?
Re: (スコア:0)
なんでと言われてもやる時にはやるもんだよ。
コールバックされる関数に渡せる汎用パラメータの型定義がintで、それでポインタを受け渡したいとか。
Re: (スコア:0)
ほんでもって、LP64環境とLLP64環境を間違えて脆弱性を作り込む、ということを OpenSSLがやってましたね。
Re: (スコア:0)
ioctlみたいにポインタも整数も渡したい場合に、仮引数の型を整数で定義したり
あとはアドレスを数値としてこねくり回したいときに、一旦整数にキャストしたり
Re:64bit化 (スコア:1)
chromeはC++で書かれているからポインタだらけ
python とか javascript もインタプリタはC/C++だからポインタだらけ
今時のプログラマにはポインタ使えない人が沢山いるけど
ポインタ使えないと雇ってくれない仕事も沢山あります
Re:64bit化 (スコア:1)
COBOLで作り直せ
Re: (スコア:0)
リファレンスとしてのポインタなら使うけど、ガチで生のアドレスが入っているポインタは今時どうよと。。
Cの欠点は、リファレンス代わりにポインタを使う所だと思う。
Re: (スコア:0)
C++のリファレンスと他の言語のリファレンスはまた違うからなぁ
chromeのC++使ってるところはほとんどスマポに包まれてるからいいんじゃないの
Re:64bit化 (スコア:1)
ポインタ使ったって問題無い、それが 32bit前提でなければ。
どっかのコードは、ポインタをintにキャストして、また、ポインタにキャストしていた。
そんなのがなければ。(intが同時に64bit化してれば、そのまま通るが)
あるいは、昔のEmacsみたいに、上位bitはどうせ使わないから、と他の用途に使っていると
アウト。
Re:64bit化 (スコア:1)
> 上位bitはどうせ使わないから、と他の用途に使っているとアウト。
昔680x0等がそれで痛い目見たから、x64はアドレスのまだ予約されているビットはオール1であることを強制するような仕様になってたと思う。
Re: (スコア:0)
本気ですか…
ソースDLして見てみ。
Re: (スコア:0)
この場合のポインタは「参照」を含んでるわけだが……
Re: (スコア:0)
参照ならアドレス幅なんか関係ねーし完全にイミフ
Re: (スコア:0)
実行系内部では意味がないわけがない
Re: (スコア:0)
クラスのメンバにポインタじゃなくて参照を持たせてるとか.