intとvoid *を組み合わせる必要があります。私が好きなことをやって考えていた:intをvoidと組み合わせる*
long int lint = ((int)integer<<(sizeof(void*)*8)) | ((void*)ptr);
しかしaccording to my previous message、long int型では十分ではありません。
誰でもこの方法を提案できますか?
PS。何人かの人々はなぜ私がこれをしたいと思うかもしれないのか尋ねます。さて、私は無数の異なるケースに対応するジェネリックイベントシステム(ディスパッチ/リッスン)を開発しています。それは準備ができたとき、私はあなたが多くの人が持っているとして、あなたが構造体を使用する必要があり、そのための当然それは、64ビット・システムからのポインタを保持することはできません、stdint.h
から入手uint_least64_t
のようなものを、使用する必要があります...
intポインタまたはvoidポインタのいずれかの値を格納しようとしていますか? – LandonSchropp
何をしようとしていても、それは絶望的にその形式で移植できません。普通の 'struct 'を使っていないのはなぜですか? – Mat
なぜ 'struct'を使用しないのですか? :| – amit