rust raw pointer使用方法 4

2021-07-04 21:55:46 字數 638 閱讀 2975

use

std::os::raw::;

//注意這兒必須加sized,不然p_this轉*mut self編譯器會報錯,這兒感謝rust 2群裡的@elton

trait foo:sized

//p_self和p_this都是指標的大小

println!("{},{}",std::mem::size_of_val(&p_self),std::mem::size_of_val(&p_this));

//只能引用當前trait裡的method,function或者繼承來的,但是不能使用這個型別自己的method和function

//這兒還是很好理解的,畢竟self是一定實現了print,卻不一定會實現print2(雖然bar實現了print2,但卻不能推導出所有實現了trait foo的都有print2

//unsafe

}fn print(&self,i:i32)",i);

}}struct bar;

impl bar",i);

}}impl foo for bar{}

fn main()

執行結果:

hello 10

8,8

VMware License Server使用經驗

近期在測試vmware server,在使用vmware license server的時候碰到一些問題,經過兩天的實驗,問題得以解決,現記錄如下,以供朋友們參考。1 複製license檔案 在安裝vmware virtualcenter的時候,會一同安裝license server伺服器。如果你在...

Django Rest framework使用例項

一 修改配置檔案 setting.py django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contri...

Android AlarmManager 使用指南

intent intent new intent intent.setaction updatemgr.check update action 如果你的flag 是flag one shot,那麼你就只能受到一次廣播。如果使用setrepeat,你設定的intervalmills 少於60s,那麼就...