libvirt 基于C API基本使用案例
玩开源分享,需要有干到底的精神,今晚随便逛逛技术论坛突发有感;
Ruiy不足之处,需跟进了;
最近变的较懒了,干活有点没劲,也不怪干来干去收获不大,缺少鼓励!
现在玩的技术大多是上不了台面了,想过没,你在使用别人定义封装好的class(JAVA,C++等面向对象),感觉简单不,那就类似于洗衣机中预设的定时洗涤程序,伟大是人家设计者;
想要有搞头,那就自个搞搞class def(维度于CPP,.....)
C,CPP中你看那个软件包的devel中包含的header file文件,技术含量在那里面哈,你简单玩的那个简直上不了台面,伟大也在人家;
仅仅只想想简单玩玩(敷衍差事,瞎忽悠),那你就不照了哈;
Ruiy哥曾经试图阅读C include下 的相关header files,至今精力还未能投入其中;
Ruiy哥追求的就是尽量完成手头活,不妥不拉;
1,virConnectGetLibVersion
API call obtain the version of libvirt software in use on the host
it takes a connection pointer and unsigned long pointer as input,
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAosAAAFiCAIAAAARKwWXAAAgAElEQVR4nO3dbbKrqhKAYSblUJgIdYfBEM5PZuHg9v1hxAa6EROzNMn71KlTaxOD+BFbiKGdAwAAAAAAAAAAAAAAAAAAAAB8s+TcdHUbAAC/48fijo9unl0Kh9/nXGwK0ylNer+5OcbJuVkrf/d6VUtjfpxfj8hyUsX1n777Lus4/s3xPepQe+b1v3DvD9rr7YyikvYi45r9NmsrCmUNoTydzvX359Vz5/Pdzn9L5xipced7TcHN0Tn/RISubmTiWuicCx9yHrQuuTtTT7g7X4L/TNQC7QjrOH7u3be8NbnJDdxu7Exjx8u64B76CKgLe+eq69qXXdzfej5fsq9248jnfoRfcThCtzcy8rb3xehi3YNXt9V+Xdfy/yBWvfwRtfb07z3bwx/L9oy03Jf/DPZ6g6h8Li+7qekEZN7uW7Rk1yGWDdjdz6/01TrrPVSJX5u0vD1vtTwu4x/jUz7e/e6duuQkGtw5H5woTGX/rzNy0LYnfxYGy133PG/PB+u8DfZnRK2/c/4749zrjJGovWRZp7zhs7ZX3f/VfkjiLZ3ryfhxeVpqxhLOOt86x+Wt+nHkxzrQm8MRWr3SpTPG3+ayr5BEufx0Lc3169kT1yVzw6oPRnVcB6/g1QmR9oJ0eyVNzT/b9Vp96CT+rlo1+PH2opLQhGdrP6vlh3TWe0hYd2la/8j7X+7n9gryvgitnocdqVy+PT3U8yFfWOP6f6vZVnuCcf6o5Z3zvHM+tGeg1c7+5+iJPnS73+bylJOffdn+wfZU+79aY3sTo7bn0HF5TlvDKeeba/7+S5048psdaHc0Qls3MiP3+7s1q+2wIl9ePi8gI3S7vPznyBU8NveSu2dtXNcetM05FKHlAs+dl9VHVF6R1f1slVu8sX+s9R6tx69X2+Ue35dXus49/osR2mrP7h2YWpW8yo+0pz3c1gnQaY98KZYRui23zvP++dCJ0HIH+r3P0VkR2npv7vfnbdltT7u3vbGw2p4njovKOg+t9bqTzrdcfgnrs/azHWh3NEK/70bmxAjdhuTqn4MR+ujdRg4kyWj2hRE6nh2hj673uaqWi28S1XrtEuzKknf0oZ+I0HkZ9VwavGJao8cnRmj1PD8aoa329D9HIxF69/Pb+bznOzxZ0m9P/yRpx07eFKF3WWOZ7rXzLZffys92oN2hCP3uGxk5OuTFrbH8gOULR78P3RlJG7+CH/0OJq5nfByOHHmxaNz/Vh8hf2SUO4q/q1FudT9b5Yd01ntUKr8by3cY1Xd77bveEaGdcR725Tu2wfaoV8xDnwt3MEI7+0B3zofd81b+s3MiqfW4gxF6Lrdd1qN+XjrtUfd/P8D37xhGjstz1PPnlPPN2cflEr/agV5+arX9t98l+IMbGXX0sh3VzENAYX116VrlBx9S+eiEfEs7mmeNJnmj3JI/G7Kf1x+tik1hEpsZy01wRyK0fPvcfBStUeLO6PG4znoPmcsn73I9eRflA+2eOr5H9UfXLam8po+3Uxr8XMhCX54/Vnm76ri3Xqedt2178lZ36m/raUeh+8d3Lj/vI3fGans6+3/k4iBfOnRcjto9n08539Tje5Vf7kAf4I1bsxv6lHb+pavOcj5dAJ72QXEHQ/It4Snfqn66q/YGRwEAAAAAAAAAAAAAAAAAAAB4k/fNCwEAwM8L6TFdycvprdpydfaAJ1QzGIw39LkJAQAAuJqPW2COs4ud2Wprgx3os35pXuWWIe4CAH7GFMYj9EgHepG0vK2+nGQuDfSMkza3cBKVVFPopabkufUCAHC1eKC7eyjzhMzrIqfelUvuTv1a9aFluayknb++Kjm6XgAALjS5dGCIe7wD7ZrZ2KuAmv/YHbVu02CoFe5G6KPrBQDgIlNw8+zCgVB16BHuft5Wv/4xvtJOirrxCD2+XgAAruDjSMbJ4h1HOtCu/KI3aN9SD3ZkU/kds2/Kg/YEWedmgg40AOC2JpfmIj/0wED3oQ70bt7WwdzgsfmdVf5bPoYW1yC9mz/1DjnJAQA4jZWn8+n8nVd1ZOlAAwCgkx3cX1gvAAAAAAAAAAAAAAAAAAAAAAAAgNtbZv2c56OTiwEAgLeRs35OYcsVDQAA7oIIDQDAvURGuQEAuC0f6UMDAHBLkW40AAB3ENKWcdJHN5OSEQCAm4gzv7YCAAAAAAAAAAAAAAAAAAAAAAAAAAAA8C1Cct65mNx0dUsAAPh2cR6fUCwk5yeX2sW9m18M25NL6+wpR+vx0c2zu9HE4tG5uSzxzr0yK8zk3Owc074BwA8JycWghVxdnI0IfZbJpacivY9nROglEPq9xcLAMqfvosmoM74W+wEAd/RIaTUWcv06Q+j63yMiGn3fkNw8u5QeC0evVxWqzNRVhF4qj+Jd4tWwVj7HIkLHtpEjUtPxDc7N63+pXCz/F5salsJcPjU1qPXvhvxpDcbt8ks9NxpDAAC8Ygpr6DvQKY7JTV7LVKn1fUNal5SvejfPa3yZXJq7EbppXf4KXCbMlKPcPoq7gcmlkSCtRrhJxFRfBm+1Dx1FDe0o99RE6FCWVMu3JtHItjan3WEAAD7SEtbyfyP5oZfweSRC50AmI2tvTcMROjZd9qXaONd9/djpnk5G7/axMqOPq0bo1P1nG1Orf/q9TvDU9NfVZTqbAwD4NEN96Cqg189z3SlC7w4Y18JAVNvtQ18eoSf60ADwbYZHuZcFg9YrHY7Q1VPfdWZqNUKvJSFt7y1Gs734yjk8leq6HegO5T9n46XcvY4ibPuxUW5Zf9Xm2HTc+xGaIW4A+Da5azwyyr2Mb5cRuu5br6PK+TEun0eec+gNYvm4U4+sKgUXRT1yQDuWX0WPjnJXZJyTj3G1T3Kp5dUTZEtVsSyXb0nl8lIVoadyMfnoWeQxMQCAdymc9LsmAAAAAAAAAAAAAAAAAAAAAAAAAPho5IcGAODdclKqdWKRAeSHHiIzZ3RyW7kmb7Q/OP0IeaMB4Bs9k+eZ/NDOPZUfWs1GZVV+aEvIGw0AX+dgpCU/tFxsPD/0uiFKLg21bx3WTB7zWH+avNEA8HWeGeUmP/Rj+dfzQ1vlVWPSXn+dvNEA8NX8UEIo8kM/VnZG9kmrPJT9b2sQ21qAvNEA8G3izvWb/NDF8m+N0OWgwqsRmrzRAPBhtjFo56axpMrkh25fejo/tFUeyvdWo9zkjQaAn7A9ajU2AEp+6Oz1/NBquRfvVZ8UI280AEBBfmgAAAAAAAAAAAAAAAAAAAAAAAAAWJAf+tbGM2gBAG5P5JkamNnjh/JDvzWvs1XPi6I2mckHtT8j7zWAXzeF8axWi5/LD/2+vM5P6OelVpv6Qe2vkPcawA+bXDpyqfvB/NDu5bzOvlw4z+XZr2cpzAt40Tw1L/Vjs7X490Htb1tO3msAv8q7FLcU0WGo4/pD+aHXGl7N61wtOZhRYxZL5s3v9EHH22mVX9t+tYXkvQbwo5YhbhlC99/yY/mh3Ul5nXPvth1JtupXCzsRTu1Ad+q/W/vVFpL3GsCPmkKR0iqkfjf6R/NDH4pwVl7n/PfIKPriUITrfNn8Ee1X7UboiT40gC8W0tbBjGN96N/JD72u/bS8zuqjWEcjXJuX2tkd6E79t2q/I+81ALTiyFjw6qfyQ5+b17nt8A3WX91ttHmprRj5Ke2XtcmNkm+Xj6SR9xoAFOSHvqFIuAIAAAAAAAAAAAAAAAAAAAAAAACuQH7oW+tMLgYA+BhbZqh1NpCxN5Ef2rm75lfuTC721vVebhrLlwUAn0HOyTmFwQhNfmjT5fmV39eBPjSf9lUmI0KTTxrAZ5PR2kJ+6Fxyz/zKsgP9N+udy5r79Vjl+SW1UF1eNZFPGsAXOtApJj+0WX63/NDvXq+8IWhn7VbrUctDt51WPa1J7H9160i2AeDzTGqyKnVJ8kPb5TfMD/3W9c7Nf3IZa5eqgVPyZVPHB6j7ubDyMv3DDQD3MjLETX7o3fIb5od+63r7/dEbRui2ow8A93bkuS/yQ3fK75kf+n3rDd1h5/EIXTWvqtOqh3zSAL7f+BC3Iz+0Xe6vy6/cf4T7fett39Kvp1N/Ori8ayL0VC4mH4UjnzSAn0B+6BsiPzQAAAAAAAAAAAAAAAAAAAAAAABwCfJD31r/t9EAgI+xTe0xOgsX+aHXVd4+P/Qntv9ykzY7CgD8tSkUE3qNzbxFfmjTPfNDf1D7b2IyIjR5pgH8HTnf5xS0fFUl8kPnErVveqv80J/Y/lYUC0dxdOayJXnJPMFnWv+QfWJvjyhU+4c80wCut4Wy0d4B+aHN8rvlhz5afm37W7GZozv/XY3kV8vn2JzWZXazUkqT2A/q1pGEA8D7+aIPHQaGlskP3Sm/YX7oTv33ab+VyaOKgmoHusrYIVf9SoQmzzSAi/koorIadevFyQ/dK79hfujOS7dqv6paVzLKsz+L0BN9aADvVuSd3I/QzpEfult+z/zQH9F+ldwoL9pm5aXuROgkXkrNu9pnA8kzDeB6ckR4pHNDfmir3IsnlWYt2Lcdr3fnh/6U9ndY9bR5qXOJWw+iHIiWj79Vo9PkmQbwJcgPfUM/kh+a3ygDAHAvXnSXAQAAAAAAAOBJ/4z/AADAlYjQAADcEREaAIA7IkIDAPBnDuSHziH5f879d6MI7eOcRqYUL4Uk3jSFNDKhGgAAf8RvKa1koijdc33oe+YW8HEu5xlrCgAAuM5Uzt4Z+9H0n3P/rX/LPnSeXLGaVGIqJ2bcmebRx3meU4rzPM8p+JCWP6btxYXsLk/LUmXhozSlx2ta5A2pKaUbDQC4EdGHnsLe1Nw5JP/XjHJP6zzIrsmucKAP7eMSTn1cYu60jUR7v83QXQfXqRiwXovWqK28qneYnxssBwDgPaacwiIViagU/Qidv8b2L0TopRc7hRS9k8E1d5a1TrEeofNCPmrxe6xjDQDAHeyPcl8ToYverQy+uYQIDQD4WkWyZdXTEXpay3fyHnQi9Nq0KaTX+9CMcgMA7s4rWZpN6mPb/1yRUNeLNLzrKsbSEq0Pg6XwGNOO/vHIV5jEIHeKMa0D3eL5MTn+nZeOXtRaxF6eFAMAfJFvmrGEX1sBAL7HN0VoZiwBAHyP74rQAAB8CyI0AAAAAAAAAAAAAAAAANzakge6/UnRNi/37owl4j2pmQMEAAAcNgU3R+d8E6HL/NCDU3a0M2MDAIAXNBHaRydm7XBprBtNhAYA4FS7EXosDxURGgCAU50RoX2cZybIBADgTFqE3nrDjHIDAHCN9kmxycW1hCfFAAD4a8tPrbb/xGh2SId/bUWEBgDglvg9NAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAzWfmhrfIb8vHAj7B9nB9SuO0UKyHNEj8xB4CfY+WHNvNGfzgf53mNyVNI8/avyxg3CT6KpoW0xei73lQAAN7BisT3iNC515vCJP/h1ijb9jKX4hSmdYHo3c6spKLbWsbwlNJguWzrXGf6kn33R8Sdqq5yVZHIXbI03F5e396xvbq158T9sK2B/j8AvOLeEdo5N8kYUgSv5tVsDRDL39E756MVLkKai/rzZk/bK8Va9PI6rOZ6mr77bp/4eB+63V6b1Z6T9kPZICI0ADzv9hFaRqw2HFsRui60InTTt94WlC/Jt6vlsgNddCt9tPejHaFlb3zaW753/6EuqhSftR8AAKf5gAi9xoKmA+3GI/QU0lsjk9a2vIS1XSN96IHlidAA8JU+IUIvEUCNxaMRun7qexvrLSsQAexgZApJj6vWeotVF8WdCK0ufyxAvns/rLXWX8YDAEZZ+aE7eaMvNNUBsB1WXkeVzSewih8ylV8aN+W5MPpcZQqTWa6sWn6XrLdHvENduAm7yvK97bW8eT8sBTx2DgDAvRz6jToAAAAAAAAAAAAAAAAAAAAAAAAAAABgsfJAh/SYruQLZ4WKzv3BRs3O7c70EpybnZv/pD0AgA9i5YH2cSuJs2NqqCcNzsUWiNAAAFV3/u0pXB2hl47m0oYoepzT2k+d1/+kXJ5EpLT6rJOoJKz/79TvRWEy6vGvReh2vZ32qO03dPJtW/mtu/mnyTIJAO/TjdDxDpNyhzVCO+e8CD9LZJrWZYJYPv8dm0jZRsRcyVSGN6t+GR2DqD8v7MZGua32JFEiI32nPWr7DUa+bTO/9ePFWc0/TYQGgPexIvTk0k2GuDsROmrlTvQpq761ayKiF5VUr6r1+7LyvIqqAdOzEXoq2+OciyIAq+2x2m/S8m2b+a0frxKEAeDPaRF6Cm6e3V2uyU9EaCfK+33oKsLt1u+bCKo24KoIbe2HkpJv28x4+XiVCA0Af057UuwmGScfcgxrR6HVCJ3EaHMbUNVRbvn3SP1qLJP1tKPrFnWUeyr/2W+P1f4eJd+2ld96XVyL0OSBBoB30PNATy7NRfn1A92dJ7lm56IYeV4iRTJGudXRaVcOXMfybkCtv61KrWf3q2irPVNZ6Pfao7Z/d6cqAVnNb93LP00eaADAX/n03z79afvJAw0AeDf566xP9OntBwAAAAAAAAAAAAAAAAAAAADgWdZUckfLAcDMD73M+rlNY4KXHfrt8DZLSAqPGTpvac129fZ5S6rpz+Y1Xcjdfl8WjenmjpbfhL6fp5CYRQ54t05+6ByYp9DLfIV38HGLd0sIvDxCqzcJRf4r2ejTNXOG55yiszFL+iXu04EOJwV+az/3J3EHcJ69/NB3iNCyTym7U1sXroppKaXBcoPoHcqkyWYnuJN3OVdVvV3Pu9ztMp+zvUYeaH0/Nztirai+Si9JLZe1hiAHAbrrHTgu7fykaQ0Y1TTkUUx+GsU8qu3MqlHMzRrWGV/yZLJL5V7ro0cxE6trXnqxPIh2JrFYbtJUboW6fDXprYys4/shV6XuZ7sbTTZS4FxGhI63GeVu+pSPz39Ic5HnuLjoP14pciFb5Scx8i5rr2Zt3mU7i9RJ22vmgbb2s1P70G03ar23KLr92/Tfdv7pneOidNiimILdi8Io/pZBaFtvWS7DT+7RVtnFBiP06x1oWeLLGeXlkrl/3Fle7UMf3Q/O2M/LCo0vbYjQwLm6fWgfL+9D+6i2oOlrbqFNviQDnlWuOdqHflTa5l0WFaoRui60GnbW9pp5oI39/NicYxFavrJlutTXu3dctBQfqtn4Z5ugZKkth+EcmEcitOWUb6Bj08iFjLjp4PLZ0f3QN3pUALykG6Gdc/HibvQ1Efo5St5l8dJQhLbGD0+M0PqV9WCENka5XXN30tknvXbKV5+K0Mkoz06M0K93oFvqDUfnC+bdPvTR/dBHhAb+RBOhQ3Ligunmqx/FKQfUtrHYMhKIAHNdhFbzLueVD0Xo92+vdW211lusWhRbT4otA+S52twI85q+c1xGH0uSvVI56huMp8k6EVp+pzsyyn1KB7pKSzZrr6ax5eVLubVH90OXMcpNvnDgLHp+aOdc/hL6Ht9Du+IJqerLzKY8F0afR1ZTmMzyszVdvnZ4dz/v8pu3V80Dba+3eEfdb9YqSTFuFRmPis3bk3F7x2W8u2Y9IRWb0d1c4tbHoybxvFV+2Co0D4u1EfqsDnTQhqCrrfPDy6vlR/eDyRjpIV84ANza+Q/hPfXjnj8b+ollX/bp8l33uFt2zjwg5AsHgBvbOtWnDnUeivq++U3RR5Obc/U3Ts45ZiwBAAAAAAAAAAAAAAAAAAAAAADfy8oPvYjz9ROKZdYM4XLelfEfzb4hccY1vJhfYiono8gpj6by10fWNBfm9Bf8ugYA/piVH3oRkovBpdtEaN3k0hPzOHxXeltfph6S+Y6qzIzOeGm//Kt2GAB8Ci1CPzqs0y0i9BQeXeSqnZ1ZS/vaWSTvk3/6iZxafp0AcvGOCE03GgCu0EToR9/a3SVCL6ag9fWf6UPXHcJPyT9t8Wsuo5zKV5ZnL0VoJnQEgAs0Ebrqm96k73RahK5TW9wr//TTfWgnsj5U5YvXIjTZBgHg73XyQ39lH/oeEfpEOaxOzkU7QiftLfld/XJHhAaAC/xahNZGuT8n/7RChtUovpCejL/dMxGaUW4A+EP9J63yq5ePcse5bOe8ZqRPZfnwzUTbHfyg/NMV+auqxay9Kgvn5r/YLX9s9eXnAQDg+/HjoYPYYQCAP/I1M5b8BTrQAAAAAAAAAAAAAAAAAAAAAAAA+AV6fujJpWZ6kOvJpBYAAHwxMz/0nSb7zJp5sgEA+G5EaAAA7kiN0Pcb5SZCAwB+TCe3lXPOH8hI8T4+zjMTTwIAfks/QjsXD6d3fAv60ACAH9NE6JCcSIV8iz60I0IDAH5HJz/0lnr5Hh1oR4QGAOCm+D00AAAAAAAAAAAAAAAAAAAAAAAAAAAA/tjknDojxtHyG/PR3XiiDT0/9OO12yXPeCsf5+yVI+bjOT/a7rcnpHN+GR6dm0+oZtTs3Ozc5NwsPslhLZf/7fLNtWBa3/vENeKP9wN2tccXfy86/eJ/tPzOJpeSO3YxVa9jbgrp3OQRZn7o5aXfCMwPp+/cMeY8af32+Dh4ExEGPjB/OalrWk/ouVxv1c5XLs1P38WP7IeR/YlxV+3PzzqO7fn8N+2/Twf6zdt7uBttXceGL8yHqNknf+n2VfZW5/mRRCukeZ5TCHErXW+zQnr8e1r+Wg/K+s+yD72UppSq/nBeuukoq+2RQqrPA9kNzYculb1SeSYlUSjL1V5sWKvNnVTfLe9I6+pm5+RWLZ/A9hPebpTb6yurlwmrd27tB6vx1v6U+3/kE9ouH9Z9ksvl/lHbn9adML5eX9afV6G236q/s15rP6vrtfZn5/geaqflxOMYy/Mnb3W7H+K62LIH0vrHJNrgja1OzT+t9rf7uX9e5Yad0lFuy9XrUhTNnsq9dPQ6Nr6f+7Ru9DLzdVrnvy6uuNZ1zO5ZLRf15wY+2wjtXYpbiuifmGdT27MhVQFVHKR1hy9/y6M3tQPQU0jrsalefaoPXd+oyZjkm+Da1h/FWRXLkzsvPDUX2epjsFuuiuLqLBsWmo/lwosFqsrHb+St7bL2Q4e6P0O5xt16rOVDE3j82jbruKR1E0a6L/LcmMTFpdN+q3613GqntV7X7Ru1W/REOy2nHEd5VzfyOYrlZT03dWruniuDfejO8VXPK9nytrbXO9Cd65JcMm/LE9exQ/u5S+1GbzmkqhBuXcfsLzlPjdDLELds2vczInQVerd/+mjtbD1Ciw7yqxF6arvQ27383ES+tv72lnwxN/+NjDyfcnZYfWh5+/x0hLa2y9oPu+2stHcV/Xt2a/nqLmQSFxrruFRRs8+6f+q036pf/dtqZ+e+7VCEfqKdh9Z79Di2t7D5j/5+yIG5H6FTU09ezIpYKuu86jvlG+iR61I6uHx2dD/3Gd3ovNo4+F21cnV+lRqhyzxX39+N1iN0PVx92wgt7d57diJ0xx9E6Irs47aXlUMRWnXDCC3fKCP0SFV3iNCH1uu+K0KP74fBCN0pORqh1fOq4/UOdEu9oemcALvXsaP7eU/bjb5rhHbOhbQ1Nv5wH1p+B1xE09Mi9PovH4tHto+MclefwNl4Sd5jbnca5Shr56N7LEIvgzrDp+ruKFZ6IUJb22Xth3472/1Z7f/dy5+1fDCuSp3jcigy+aa/Ervt6dSv/m2101qvM/bnQj2OR9tpOeU4Hv0cdSK07DcPRui2/Z3j24l26ij3KR3oznUpv5rGlreO16H9vMu7uQzDT0RoY5Rbfis6rpMf2jkXZ+0r8m9kPbIVUooxiQe2tliqLV6XP17JT4RFnxfZjuH2pm03m4+QiQVkWdCGejK1vBo6k1/hqKNG6lCbVb5u1uiXLrL91c1+1ciorddqp9xkdbs6+6HD+grAGo1XqcuHsp3W6F9eda7EaW9RBaOdanus+jvrtfaztV6nLdw5jofa2XfKcbTO/3Y/RNHIZS2TtkuD1n51c9T2q/u5c17lpvbvjZ4r71+XXLfx7fJq+dH9vCck8YxE2n5rHNcIuXdFM3pWPh7pr2DQWb85Pt97Huo/0fZoHIZVfQh8lpGIfomj51U0lj9avuuGg7Peza8cR+PCfNYcGRC2juwVv5Pedd+7B7f/TTlasgOBz+JvfOxueF7J3XXb25pnXDSpBgAAAAAAAAAAAAAAAAAAAADgZGp+6PxT7eU/HiC/D3/g1/cAgI9l5YeWc51NgQitkLvoz0xirhwAwA/Q5uXOLglFf+yRCDQ8knot87w555zXpkSdtrycclbU5b3L39XIhF7/Uk/aahvfz1qEfiW7GQDgnjoRenLpqyZ9sXkRhv0j0Ma5GEuo8n21AXUKYg7zaq9q9S9Bes0bfWCsgggNAL/BjtBFyPlu7U7wRUe56uY+EaGVnSxvgLojGRVGuQHgN9ix4ReGuB/UCG2PHxChAQDvZ8WG3xnidvtJstuX1lyUW996G6meXJr/NkI/l38UAHBP/fzQvzPEHbUnv9SXtle8VigeIgthe1hMrz8vHLfa+hHWl8lQZbIa8o8CAHBD5B8FAAAAAAAAAAAAAAAAAAAAAAAAAADAV1LzQzs5mck9phVjRg4AwA+x8kM/yp1zzvl4l5nFfCREAwB+ihahcyw8lBXxrYjQAIAfo+VsiMZk3RciQgMAfoyWeFH2oW8z4bOPM9NPAwB+RxOhfRRR+UhWxLeiDw0A+DHd76GJ0AAA/LVOfuioJkW+FBEaAIDb4ffQAAAAAAAAAAAAAAAAAAAAAAAAAAAAwO/5lPzQHT4emKzbx/khhSmk2/7COqStnT4+NRn5tqn6T8mr/ebjrMx6PuWGRF/88/z50Q8dx10h/cAM7lNIN5nwD8DprPzQzm/zi/l4l1k/X+fjFqqWWHN5hFZvEmSsmkIaCYfWzcah6G5ENR/LM+DGNzar+8w/l+9p3vMpus+GAniP/rzczsVLE1DmrmAKk/yHK65+RWBZilOY1gXW/p99Mdv6rFUMT7sYqwkAAAfqSURBVCkNlruy21ruU9l3fwTCSaxTVtTpGKn1W/U83qEEXXu/peCVXnIRBmSNxvbq+7/azynlzbTa4w4dl/JdVamy/4/WP7DeVhtBO+fzE/vTPluWun5gIAH4ct0+9BSun5p7ktfU5po3qV2/9QK1/B19rzsZUhmOiuD3eKVYi15etGxZZGtLcZ2XEaK50JvtNOvX6+lXpu23JQQ9yiYR5sTNjaiw1x5l/5drXDKJ7rbn2HHZFi32hrX/TzruXdoBMM7nw/tza7c68kGEBr6Blr1qCcxLOo2QLk+esV282gujFaHrQitYNX3rbUH5kny7Wl587yu7WfUosdSN0KLG6O36jXq6G+2MiChrkVu59fvztnTbY6xYvqducN2eJ45LfmMzjqBv/ynHvau46ZGras/nZ/bnYxUMdAPfay+/5LWj3IvHtVH72m00QlvjgSdGaDtKWtulRFarPd2vHEcidFWxFqHtEOnjMsoqS3qRYTeAyT6r2p7Pj9CPLZpCSkH24516Pj+7P4nQwFfrRmgf3T0+/z6W3yBmoxG6HhDcrpllBeKCfvBKbV0rrfW6uguljxPkNXSuxWo9nVY7a5S7GOkt41zT8e3FBm3/Fysc+Lbi8HExqn73cV9rrccF8i6sh6zX91dbfHR/KhtXtedrHvIEfpCZH9qLwtv82qoOGcqw4DqqbI4VyieDqi/9mvJcKEaYH10itVxZtfaE1GxtRNnD0qsx61fqUUZNl9f0/bb82ipG8TMvZQyijYVte8z9b2yVdRwPHhehDXVvPu5O/61atclG/H56f+ajUq/18Z573FoDALD58x8hFQ+d/SFjQ8/9bTkAAOf50xlLtO7wH62XcWwAAAAAAAAAAAAAAAAAAAAAuLXbTD4EYFBIj5lJ2vRWd5uxpDen88F6TvkhTr89Z/3aJzo3n1DNqNm52bnJudm5VBYu/7U73osll3/Ozj3xG6Cqno/zzvbHdQKhlyLs5FJyx05K9XzgV17AX5C5n+MsbrDL/NC3uPG+6KJgZqzst2d4xoygxbzKK/dII/VLab0Qz+V6/ZGgG56K0Icc3a6PlqflDa9+Fg9/ms3zgbzUwF+SOaF9dFv/b3Lp6m50Pe1hCi5nDQoi8e/aZiufrp6HuJ8PWJttUW2PpMw6KbqhuS+Syu6p3M1JFEajnsdGiff64fotaV2s6gerEXpqtig3Moi1B9G2WVzx53V4oFPPUjiVm3xouzrrdWU9u+t1xnG02u+045Xbn5ryRVQKlT705FIe4fKPSXv3+8daN3oZR0vraFpx5lrnA3mpgT8lE1jVEfoOg4/aFSGkKqA281Qr+XS1+aXtvL9P9aHrDsYkrt2+CQZt/VFcDeUodyhjQC6fmujer78jrzqVb+z0oScjsublk7iZUNtv1ZMXy0vmzTy0XdZ6o6hkatrTrrdzHNu1OPt4OefSun/ad2kR+lFfFUTLm+c4NoKtdqNDWrvpVQi3zgf7yyIiNHCuyaXyzvmDIrSVz7iTrU+P0EbOomcitDYHZDS+ylUjTTL+WZV7cZU/K0JbjkboWC6Q/5mDYjsSbkVotfCJO492vXPzX9V9VOuxvpJv228dr+ql3Y+X9UzIUxHa6kbnrRmth6yXwNstT4RVAau4zb7BKLdzVoTeyWds1/TXEVra7UPfPEJPTQBWR7mdtvwkRk0rb43Q6nr7j+DtBs7dPvRZEXqtP1Vx+rkIrXWjidDA/fgoMk5Kk4thW+YWn0NrlFsUFtH0tAit510+NMpdRazZeCl3y+Toqy9HuWU9MuzJKF5F6Lb+dXMOPBN/NEJXI7pyNdF4lOxohNa3y9aut+rr7663cxzdwJ2KdRc1Nsrt4/qF/vqH7A2HNPY99KOueuEnIjR5qYG3yvfks/KISP7K6w6/trIe2QpJ5jO2kjR3EiZH7/byDWv5m81HyMQCxc7s/mBJLa+ehMrBIJXlrinPTzn167fyGava0eBl1bEp9+sthXypHc2uYptaT1tenYnW/rS0621X0V+vdRyt9jvjeOXCvBXyeFnfQ7d96PLHknHwYbH1jUH8nR9Di/PgQ2fkpQbQ96cZBg+5/Y9RrspnjJvwr917k5caQM/Wkb3lkNp97x7cdfmM8R2YsQQAAAAAAAAAAAAAAAAAAAAAAHwrKz+0j0ohdk1ihgoAAJ5k5YeegpujSEv7geQ0hn8pB2b/Wl5nAAAepjY7/G0i9COBbXjk+djS5Hoxa6nI1qvOZrq8d/m7GiHQ61/qSVttuyG/SgBVzrdMVj4AwFNimyjgNhHauS1J/fL3EmijiJpTKLKAqH3o4i6k2jqt/iVIr3mj9/cGERoAcKomP/TDzSJ03RhfdJSrbu4TEVrZWJneb2BvdCM0AABHqPmhH+4foe1veq+K0FaGQQAADjDzQz9evneEdi4kM3d1SOtth9/61ttI9eTSfH6EdiJC10+KkTcXADDKzg+9PEilPIR1kWjnsY7GKLccA98KxSaHsD0sptcv8/Gute1G2GD82oq8uQAA3BB5cwEAAAAAAAAAAAAAAAAAAAAAAAAAAIAnWPmhrXILM3IAAHAaKz+0Vb5XGyEaAICzKfmhu+UtIjQAAOdT8kN3y1tEaAAATmXlh7bKTT7OTD8NAMAZrPzQvbzRBvrQAACcw8oPvZM32qyNCA0AwOus/NB23ug+IjQAALfD76EBAAAAAAAAAG/zf90RkLYXsMK8AAAAAElFTkSuQmCC" alt="" />
2,virConnectGetVersion
API call obtain version of the host virtualization software in use
aaarticlea/png;base64,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" alt="" />
3,virConnectGetURI
API call obtain URI current connection
aaarticlea/png;base64,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" alt="" />
4,virConnectIsEncrypted
API call 判断以建立的virtualizationHypervisors 是否是加密的
aaarticlea/png;base64,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" alt="" />
5,virConnectIsSecure
API call 同上判断virtual conn 是否加密
if succesful returns 1 for a secure connection and 0 for an insecure connection
if an error occurred -1 will be returned;
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
6,libvirt Enevt loop integration;
libvirt APIs use a basic request/response architecture that is generally synchronous
libvirt application calls a libvirt API (the request) which doesn't return until the action is complete (the response)
a libvirtd server can also generate asynchronous messages and send them to
the libvirt application
7,by default when an error occurs,libvirt will call the virDefaultErrorFunc function which will print the error information to stderr,
virSetErrorFunc API call can be used to set a custom global error function that libvirt will call instead,it takes a viod
* pointer as input,and returns nothing,the custom error function should have function signature
typedef void (*virErrorFunc) (void *userData,virErrorPtr error);
following code demonstrates use virSetErrorFunc
//compile with: gcc -g -Wall virSerErrorFunc.c -o virSetErrorFunc -lvirt;
//by Ruiy
//stderr 0
//stdin 1
//stdout 2 #include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> static void customErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Failure of libvirt library cal: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d\n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
}
int main(int argc,char *argv[])
{
virConnectPtr conn;
virSetErrorFunc(NULL,customErrorFunc);
conn = virConnectOpen("qemu+tcp://root@192.168.1.143/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu+tcp://root@192.168.1.143/system");
return ;
}
if (virConnectGetVersion(conn,NULL) < )
fprintf(stderr,"virConnectGetVersion failed \n");l
virConnectClose(conn);
return ;
8,virConnSetErrorFunc
API call can be used to set a per-connection custom error handling function,if present,this per-connection error handling function will take precendence over the global
continue upGrade;
if (conn->handler)
conn->handler;
else if (global_handler)
global_handler;
else
virDefaultErrorFunc;
typedef void (*virErrorFunc) (void *userData,virErrorPtr error);
//example demonstrates
//cimpile with: gcc -g -Wall *.c -o execfiles -lvirt;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <iomanip>
#include <>
using namespace std;
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/viererror.h> static void customConnErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Connection handler,failure of libvirt library call: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d \n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
} static void customGlobalErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Global handler,failer of libvirt library call: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d \n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
} int main(int argc,char *argc[])
{
virConnectPtr conn1;
virConnectPtr conn2;
//set a global error function for all connection
virSetErrorFunc(NULL,customGlobalErrorFunc);
}
9,virCopyLastError
API call obtain a copy last error reported from libvirt
error object is keep in thread local storage so separate threads can safely use this function concurrently,
//compile with: gcc -g -g -Wall *.c -o virCopyLastError -lvirt
#include <stdio.h>
#include <stdib.h>
#include <libvirt/libvirt.h>
#include <libvirt/virterror.h>
#include <libvirt/libvirt-qemu.h>
//dummy error function to suppress virDefaultErrorFunc
static void customErrorFunc(void *userdata,virErrorPtr err)
{}
int main(int argc,char *argv[])
{
virConnectPtr conn;
virError err;
virSetErrorFunc()
}
10,virResetError
api call to clear and free any memory associated with an virError object;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> //dummy error function to suppress virDefaultErrorFunc
static void customErrorFunc(void *userdata,virErrorPtr err)
{
} int main(int argc,char *argc[])
{
virConnectPtr conn;
virError err;
virSetErrorFunc(NULL,customErrorFunc);
conn = virConnectOpen("qemu:///system");
conn = virConnectOpen("qemu+tcp://localhost/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu:///system \n");
return ;
}
if (virConnectGetVersion(conn,NULL) < )
{
virCopyLastError(&err);
fprintf(stderr,"virConnectGetVersion Failed:%s \n",err.message);
virResetError(&err);
}
virConnectClose(conn);
return ;
}
11.virGetLastError
API call obtain a pointer to the last error reported from libvirt;
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/virterror.h>
#include <libvirt/libbvirt-qemu.h> static void customErrorFunc(void *userdata,virerrorPtr err)
{}
int main(int argc,char *argv[])
{
virConnectPtr conn;
virErrorPtr err;
virSetErrorfunc(NULL,customErrorfunc); conn = virConnectOpen("qemu+tcp://libvirt.org/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu+tcp://libvirt.org/systsem" \n);
return ;
}
if (virconnectGetVersion(conn,NULL) < )
{
//this is a vailed way to use virgetLastErrorerr v= virgetLastError();
err = virGetLasteError();
fprintf(stderr,"virconnectGetVersion failed:%s \n",err->message);
}
if (virConnectGetVersion(conn,NULL) < )
{
//this is an invailed way to use virGetLastError; the error message will not reresent the error from virConnectGetVersion
}
err = virgetLastError();
virNodeGetFreeMemory(NULL);
frpintf(stderr,"virConnectGetVersion failed:%s \n",err->message);
}
12.virSaveLastError
API call to allocate and obtain a copy of the last error reported fromn libvirt;
/*compile with: gcc -g -Wall virSaveLastError.c -o virSaveLastError -lvirt*/
//dummy虚拟;
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> //dummy function to suppress virDefaultErrorFunc
static void customErrorFunc(void *userdata,virErrorPtr)
{
} int main(int argc,char *argv[])
{
virConnectPtr conn;
virErrorPtr err;
virSetErrorFunc(NULL,customErrorFunc); }
13,debug/logging
log messages,log filters,log outputs;
priority level:
1 debug
2 info
3 warn
4 error
3,log outputs - where to send the message once it has passwd through filters,the format for a log output is one of the forms:
x:stderr - log to stderr
x:syslog:name - log to syslog with a prefix of "name"
x:file:file_path - log to a file specified by "file_path"
where "X" is the minimal priority level,for instance,to log all warnings and errors to syslog with a prefix of "libvirt",the following output cann be used:
3:syslog:libvirtd
14,integrated example
this example daemonstrates many of the concepts from the chapter together,including error checking,
while still not a "real" program (which would likely be multi-threaded),it's a good example of how to write a libvirt program from end to end;
15,guest domains
domain is an instance of an operating system running on a virtualized machine,a guest domain can refer to either a running virtual machine or a configuration which can be used launch a virtual machine,the connection object provides APIs to enumerate the guest domains,create new guest domains and manage existing domains,A guest domain is represented with the virDomainPtr object and has a number of unique identifiers;
Unique identifiers:
1. id:positive integer,unique amongstrunning guest domains on a single host,an inactive domain does not have an id,if the host OS is a virtual it is given a id of zero by default.for example,with the xen hypervisor,Dom0 indicates a guest domain,other domain ids will be allocated starting at 1,and incrementing each time a new domain starts,typically domain IDs will not be-used until the entire ID space warps around.the domain id space is at 16 bits in size,but often extends 32 bits
2.name:short string,unique amongst all guest domains on a single host,both running and inactive for maximum portability between hypervisors applications should only rely on being able to use the characters a-z,0-9 in names,many hypervisors will store inactive domain configurations as files on disk,based on the domain name;
uuid:16unsigned bytes,guaranteed to be unique amongst all guest domains on any host,RFC 4122 defines the format for UUIDs and provides a recommended algorithm for generating UUids with guaranteed uniqueness.if the host OS is itself a virtual domain,then by convention it will be given a uuid of all zeros,this is the case with the xen hypervisors,
a guest domain may be transient,or persistent,a transient guest domain can only be managed while it is running on the host and,when powered off,all trace of it will disappear.a persistent guest domain has its configuration maintained in a data store on the host by the hypervisor,in an implementation defined format,thus when a persistent guest is powered off,it is still possible to manage its inactive config,a transient guest can be truned into a persistent guest on the fly by defining a configuration for it
once an application has a unique identifier for a domain,it will often want to obtain the corresponding virDomainPtr object.there are three,imaginatively named,methods to do lookup existing domains,
virDomainLoopupByID,virDomainLookupByName and virDomainLookByUUID
each of these takes a connection object as first parameter,and the domain identifier as the other.
they will return NULL if no matching domain exists,the connections error object be queried to find specific detials of the error if required;
int domainID = 6;
virDomainPtr dom;
dom = virDomainLoopupByID(conn,domainID);
15.Example4.1 fetching a domain object from an ID
int domainName = "byRuiy";
virDomainPtr dom;
dom = virDomainLookupByName(conn,domainName);
Example 4.2 Fetch a domain object from an name
char *domainUUID = "";
virDomainPtr dom;
dom = virDomainLookupByUUIDString(conn,domainUUID);
example 4.3 Fetch a domain object from an UUID
for convenience of this document,the UUID example used the printable format of UUID,there is an equivalent method which accepts the raw bytes unsigned char[]
获取VMs域信息API函数
int domainID = 6;
virdomainPtr dom;
virDomainLoopupByUUIDString(conn,domainUUID);
virDomainLoopupByName(conn,domainName);
virDomainLookupByID(conn,domainID);
16.listing domains
the libvirt API exposes two lists of domains,the first contains running domains,while the second contains inactive,persistent domains.the lists are intended to be non-overlapping,exclusive sets,though there is always a small possibility that a domain can stop or start in between the querying of each set.the events API described later in this section provides a way to track all lifecycle changes avoiding this potential race condition;
API for listing active domains,returns a list of domain IDs.Every running domain has a positive integer ID,uniquely identifying it amongst all running domains on the host.the API for listing active domains,virConnectListDomains,requires the caller to pass in a pre-allocated int array which will be filled in domain IDs, the return value will be -1 upon error,or the total number of array elements filed,to determine how large to make the ID array,the application can use the API call virConnectNumofDomains.putting these two calls together,a fragment of code which printfs a list running domain IDs would be
int i;
int numDomains;
int *activeDomains;
numDomains = virConnectNumOfDomains(conn);
activeDomains = malloc(sizeof(int) * numDomains);
numDomains = virConnectListDomains(conn,activeDomains,numDomains);
printf("Active domain IDs: \n");
for (i = 0;i < numDomains;i++)
{
printf("%d \n",activeDomains[i]);
}
free(activeDomains);
Example 4.4 listing active domains
in addition to the running domains,there may be some persistent inactive domain configurations stored on the host,since an inactive domain not hace any ID identifier,the listing of inactive domains is exposed as a list of name strings,in a similar style to the API just discussed
inactive domains is exposed as a list of name strings,in a similar style to the API just discused
the virConnectListDefinedDomains API requires the callers to provide a pre-allocated
char * array which will beb filled with domain name strings.the return value will be -1 upon error ,or the total number of array elements filled with names it si the callers responsibility free mempry
Example4.5 listing inactive domains
the APIs for for listing domains do not directly return the full virDomainPtr objects,since this may incur
libvirt 基于C API基本使用案例的更多相关文章
- Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(四)
在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证.在 ...
- 基于Guava API实现异步通知和事件回调
本文节选自<设计模式就该这样学> 1 基于Java API实现通知机制 当小伙伴们在社区提问时,如果有设置指定用户回答,则对应的用户就会收到邮件通知,这就是观察者模式的一种应用场景.有些小 ...
- Atitit 游戏的通常流程 attilax 总结 基于cocos2d api
Atitit 游戏的通常流程 attilax 总结 基于cocos2d api 加载音效1 加载页面1 添加精灵1 设置随机位置2 移动2 垃圾gc2 点击evt2 爆炸效果3 定时生成精灵3 加载音 ...
- 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验
一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...
- 你也可以玩转Skype -- 基于Skype API开发外壳程序入门
原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...
- 基于 Aliexpress API 的小程序 : 批量 Copy 产品到不同的店铺
第一个基于 Aliexpress API 的小程序 : 批量 Copy 产品到不同的店铺 还没来得及用 API 重写软件, 先写个小程序来缓解一下手工压力: 批量Copy 产品到不同的店铺. 开网店 ...
- AngularJS基于MVC的复杂操作案例
AngularJS基于MVC的复杂操作案例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
- 基于JWT的Token开发案例
代码地址如下:http://www.demodashi.com/demo/12531.html 0.准备工作 0-1运行环境 jdk1.8 maven 一个能支持以上两者的代码编辑器,作者使用的是ID ...
- 基于V2EX API的nodejs组件.
今天又学习到了新的知(zi)识(shi),来给自己做个笔录,也算在这酷热的天气里给自己写了一篇降温的‘膏药’,话就讲这么多了 ,start off...... 首先 ,依赖选择: /**设置为严格模式 ...
随机推荐
- iOS网络HTTP、TCP、UDP、Socket 知识总结
OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层,也被依次称为 OSI 第一层.第二层.⋯⋯. 第七层. 如下图: 各层功 ...
- HDU 5120 Intersection(几何模板题)
题意:给定两个圆环,求两个圆环相交的面积. 思路:由于圆心和半径不一样,分了好多种情况,后来发现只要把两个圆相交的函数写好之后就不需要那么复杂了.两个圆相交的面积的模板如下: double area_ ...
- Memento 备忘录 快照模式
简介 定义: 在不破坏封装的前提下,捕获一个对象的[内部状态],并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态. 角色: 发起人Originator:要被备份的成员,它提供一创 ...
- codevs1044四子连棋(Dfs)
/* 数据范围太小 暴力暴力 Dfs直接 终止条件嘛 就是4中目标棋局 挨着枚举一遍就好了 搜索的起点一定是空格 当然 空格周围有黑有白 黑先走或者白先走答案可能不一样 所以 维护一个b 表示这一步走 ...
- noi 7221 拯救公主 (状态压缩+bfs)
/* 这题实在调糊了 借鉴的题解的一些判断方法 位运算大法好 - - 因为要集齐所有的宝石所以状态压缩一下 f[i][j][s]将s化为二进制 每一0表示该宝石没有 1表示该宝石有 有:到(i,j)这 ...
- Lock锁_线程_线程域
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- struts2与spring整合问题,访问struts2链接时,spring会负责创建Action
每次访问一次链接,spring会创建一个对象,并将链接所带的参数注入到Action的变量中(如何做到的呐) 因为: struts2的action每次访问都重新创建一个对象,那spring的ioc是怎么 ...
- 【转】那些好用的iOS开发工具
原文:http://www.devtang.com/blog/2014/06/29/ios-dev-tools/ 前言 从苹果发明iPhone起,AppStore上的一个又一个类似flappy bir ...
- Xcode7 通过 Single View Application 得到一个 Empty Application 工程
方法: 创建一个 Empty Application 工程 下面还是详细的说一下通过一个 Single View Application 工程得到一个 Empty Application 工程的方法: ...
- C#简单一句代码,实现pictureBox的照片另存为磁盘文件不出错
开发人事档案系统时,一般都要利用pictureBox对人员的照片进行操作,包括选择保存照片.另存照片.删除照片,如下图: 将照片保存到数据库和从数据库中删除,网友写了很多实用代码,非常好用.但是要将p ...