📄 string.h
字号:
<a name=L268 href="source/include/string.h#L268">268</a> <i>"scasb\n\t"</i><a name=L269 href="source/include/string.h#L269">269</a> <i>"notl %0\n\t"</i><a name=L270 href="source/include/string.h#L270">270</a> <i>"decl %0"</i><a name=L271 href="source/include/string.h#L271">271</a> :<i>"=c"</i> (__res):<i>"D"</i> (s),<i>"a"</i> (0),<i>""</i> (0xffffffff):<i>"di"</i>);<a name=L272 href="source/include/string.h#L272">272</a> return __res;<a name=L273 href="source/include/string.h#L273">273</a> }<a name=L274 href="source/include/string.h#L274">274</a> <a name=L275 href="source/include/string.h#L275">275</a> extern char * <a href="ident?i=___strtok">___strtok</a>;<a name=L276 href="source/include/string.h#L276">276</a> <a name=L277 href="source/include/string.h#L277">277</a> extern inline char * <a href="ident?i=strtok">strtok</a>(char * s,const char * ct)<a name=L278 href="source/include/string.h#L278">278</a> {<a name=L279 href="source/include/string.h#L279">279</a> register char * __res __asm__(<i>"si"</i>);<a name=L280 href="source/include/string.h#L280">280</a> __asm__(<i>"testl %1,%1\n\t"</i><a name=L281 href="source/include/string.h#L281">281</a> <i>"jne 1f\n\t"</i><a name=L282 href="source/include/string.h#L282">282</a> <i>"testl %0,%0\n\t"</i><a name=L283 href="source/include/string.h#L283">283</a> <i>"je 8f\n\t"</i><a name=L284 href="source/include/string.h#L284">284</a> <i>"movl %0,%1\n"</i><a name=L285 href="source/include/string.h#L285">285</a> <i>"1:\txorl %0,%0\n\t"</i><a name=L286 href="source/include/string.h#L286">286</a> <i>"movl $-1,%%ecx\n\t"</i><a name=L287 href="source/include/string.h#L287">287</a> <i>"xorl %%eax,%%eax\n\t"</i><a name=L288 href="source/include/string.h#L288">288</a> <i>"cld\n\t"</i><a name=L289 href="source/include/string.h#L289">289</a> <i>"movl %4,%%edi\n\t"</i><a name=L290 href="source/include/string.h#L290">290</a> <i>"repne\n\t"</i><a name=L291 href="source/include/string.h#L291">291</a> <i>"scasb\n\t"</i><a name=L292 href="source/include/string.h#L292">292</a> <i>"notl %%ecx\n\t"</i><a name=L293 href="source/include/string.h#L293">293</a> <i>"decl %%ecx\n\t"</i><a name=L294 href="source/include/string.h#L294">294</a> <i>"je 7f\n\t"</i> <b><i>/* empty delimeter-string */</i></b><a name=L295 href="source/include/string.h#L295">295</a> <i>"movl %%ecx,%%edx\n"</i><a name=L296 href="source/include/string.h#L296">296</a> <i>"2:\tlodsb\n\t"</i><a name=L297 href="source/include/string.h#L297">297</a> <i>"testb %%al,%%al\n\t"</i><a name=L298 href="source/include/string.h#L298">298</a> <i>"je 7f\n\t"</i><a name=L299 href="source/include/string.h#L299">299</a> <i>"movl %4,%%edi\n\t"</i><a name=L300 href="source/include/string.h#L300">300</a> <i>"movl %%edx,%%ecx\n\t"</i><a name=L301 href="source/include/string.h#L301">301</a> <i>"repne\n\t"</i><a name=L302 href="source/include/string.h#L302">302</a> <i>"scasb\n\t"</i><a name=L303 href="source/include/string.h#L303">303</a> <i>"je 2b\n\t"</i><a name=L304 href="source/include/string.h#L304">304</a> <i>"decl %1\n\t"</i><a name=L305 href="source/include/string.h#L305">305</a> <i>"cmpb $0,(%1)\n\t"</i><a name=L306 href="source/include/string.h#L306">306</a> <i>"je 7f\n\t"</i><a name=L307 href="source/include/string.h#L307">307</a> <i>"movl %1,%0\n"</i><a name=L308 href="source/include/string.h#L308">308</a> <i>"3:\tlodsb\n\t"</i><a name=L309 href="source/include/string.h#L309">309</a> <i>"testb %%al,%%al\n\t"</i><a name=L310 href="source/include/string.h#L310">310</a> <i>"je 5f\n\t"</i><a name=L311 href="source/include/string.h#L311">311</a> <i>"movl %4,%%edi\n\t"</i><a name=L312 href="source/include/string.h#L312">312</a> <i>"movl %%edx,%%ecx\n\t"</i><a name=L313 href="source/include/string.h#L313">313</a> <i>"repne\n\t"</i><a name=L314 href="source/include/string.h#L314">314</a> <i>"scasb\n\t"</i><a name=L315 href="source/include/string.h#L315">315</a> <i>"jne 3b\n\t"</i><a name=L316 href="source/include/string.h#L316">316</a> <i>"decl %1\n\t"</i><a name=L317 href="source/include/string.h#L317">317</a> <i>"cmpb $0,(%1)\n\t"</i><a name=L318 href="source/include/string.h#L318">318</a> <i>"je 5f\n\t"</i><a name=L319 href="source/include/string.h#L319">319</a> <i>"movb $0,(%1)\n\t"</i><a name=L320 href="source/include/string.h#L320">320</a> <i>"incl %1\n\t"</i><a name=L321 href="source/include/string.h#L321">321</a> <i>"jmp 6f\n"</i><a name=L322 href="source/include/string.h#L322">322</a> <i>"5:\txorl %1,%1\n"</i><a name=L323 href="source/include/string.h#L323">323</a> <i>"6:\tcmpb $0,(%0)\n\t"</i><a name=L324 href="source/include/string.h#L324">324</a> <i>"jne 7f\n\t"</i><a name=L325 href="source/include/string.h#L325">325</a> <i>"xorl %0,%0\n"</i><a name=L326 href="source/include/string.h#L326">326</a> <i>"7:\ttestl %0,%0\n\t"</i><a name=L327 href="source/include/string.h#L327">327</a> <i>"jne 8f\n\t"</i><a name=L328 href="source/include/string.h#L328">328</a> <i>"movl %0,%1\n"</i><a name=L329 href="source/include/string.h#L329">329</a> <i>"8:"</i><a name=L330 href="source/include/string.h#L330">330</a> :<i>"=b"</i> (__res),<i>"=S"</i> (<a href="ident?i=___strtok">___strtok</a>)<a name=L331 href="source/include/string.h#L331">331</a> :<i>""</i> (<a href="ident?i=___strtok">___strtok</a>),<i>"1"</i> (s),<i>"g"</i> (ct)<a name=L332 href="source/include/string.h#L332">332</a> :<i>"ax"</i>,<i>"cx"</i>,<i>"dx"</i>,<i>"di"</i>);<a name=L333 href="source/include/string.h#L333">333</a> return __res;<a name=L334 href="source/include/string.h#L334">334</a> }<a name=L335 href="source/include/string.h#L335">335</a> <a name=L336 href="source/include/string.h#L336">336</a> extern inline void * <a href="ident?i=memcpy">memcpy</a>(void * dest,const void * src, int n)<a name=L337 href="source/include/string.h#L337">337</a> {<a name=L338 href="source/include/string.h#L338">338</a> __asm__(<i>"cld\n\t"</i><a name=L339 href="source/include/string.h#L339">339</a> <i>"rep\n\t"</i><a name=L340 href="source/include/string.h#L340">340</a> <i>"movsb"</i><a name=L341 href="source/include/string.h#L341">341</a> ::<i>"c"</i> (n),<i>"S"</i> (src),<i>"D"</i> (dest)<a name=L342 href="source/include/string.h#L342">342</a> :<i>"cx"</i>,<i>"si"</i>,<i>"di"</i>);<a name=L343 href="source/include/string.h#L343">343</a> return dest;<a name=L344 href="source/include/string.h#L344">344</a> }<a name=L345 href="source/include/string.h#L345">345</a> <a name=L346 href="source/include/string.h#L346">346</a> extern inline void * <a href="ident?i=memmove">memmove</a>(void * dest,const void * src, int n)<a name=L347 href="source/include/string.h#L347">347</a> {<a name=L348 href="source/include/string.h#L348">348</a> if (dest<src)<a name=L349 href="source/include/string.h#L349">349</a> __asm__(<i>"cld\n\t"</i><a name=L350 href="source/include/string.h#L350">350</a> <i>"rep\n\t"</i><a name=L351 href="source/include/string.h#L351">351</a> <i>"movsb"</i><a name=L352 href="source/include/string.h#L352">352</a> ::<i>"c"</i> (n),<i>"S"</i> (src),<i>"D"</i> (dest)<a name=L353 href="source/include/string.h#L353">353</a> :<i>"cx"</i>,<i>"si"</i>,<i>"di"</i>);<a name=L354 href="source/include/string.h#L354">354</a> else<a name=L355 href="source/include/string.h#L355">355</a> __asm__(<i>"std\n\t"</i><a name=L356 href="source/include/string.h#L356">356</a> <i>"rep\n\t"</i><a name=L357 href="source/include/string.h#L357">357</a> <i>"movsb"</i><a name=L358 href="source/include/string.h#L358">358</a> ::<i>"c"</i> (n),<i>"S"</i> (src+n-1),<i>"D"</i> (dest+n-1)<a name=L359 href="source/include/string.h#L359">359</a> :<i>"cx"</i>,<i>"si"</i>,<i>"di"</i>);<a name=L360 href="source/include/string.h#L360">360</a> return dest;<a name=L361 href="source/include/string.h#L361">361</a> }<a name=L362 href="source/include/string.h#L362">362</a> <a name=L363 href="source/include/string.h#L363">363</a> extern inline int <a href="ident?i=memcmp">memcmp</a>(const void * cs,const void * ct,int <a href="ident?i=count">count</a>)<a name=L364 href="source/include/string.h#L364">364</a> {<a name=L365 href="source/include/string.h#L365">365</a> register int __res __asm__(<i>"ax"</i>);<a name=L366 href="source/include/string.h#L366">366</a> __asm__(<i>"cld\n\t"</i><a name=L367 href="source/include/string.h#L367">367</a> <i>"repe\n\t"</i><a name=L368 href="source/include/string.h#L368">368</a> <i>"cmpsb\n\t"</i><a name=L369 href="source/include/string.h#L369">369</a> <i>"je 1f\n\t"</i><a name=L370 href="source/include/string.h#L370">370</a> <i>"movl $1,%%eax\n\t"</i><a name=L371 href="source/include/string.h#L371">371</a> <i>"jl 1f\n\t"</i><a name=L372 href="source/include/string.h#L372">372</a> <i>"negl %%eax\n"</i><a name=L373 href="source/include/string.h#L373">373</a> <i>"1:"</i><a name=L374 href="source/include/string.h#L374">374</a> :<i>"=a"</i> (__res):<i>""</i> (0),<i>"D"</i> (cs),<i>"S"</i> (ct),<i>"c"</i> (<a href="ident?i=count">count</a>)<a name=L375 href="source/include/string.h#L375">375</a> :<i>"si"</i>,<i>"di"</i>,<i>"cx"</i>);<a name=L376 href="source/include/string.h#L376">376</a> return __res;<a name=L377 href="source/include/string.h#L377">377</a> }<a name=L378 href="source/include/string.h#L378">378</a> <a name=L379 href="source/include/string.h#L379">379</a> extern inline void * <a href="ident?i=memchr">memchr</a>(const void * cs,char c,int <a href="ident?i=count">count</a>)<a name=L380 href="source/include/string.h#L380">380</a> {<a name=L381 href="source/include/string.h#L381">381</a> register void * __res __asm__(<i>"di"</i>);<a name=L382 href="source/include/string.h#L382">382</a> if (!<a href="ident?i=count">count</a>)<a name=L383 href="source/include/string.h#L383">383</a> return <a href="ident?i=NULL">NULL</a>;<a name=L384 href="source/include/string.h#L384">384</a> __asm__(<i>"cld\n\t"</i><a name=L385 href="source/include/string.h#L385">385</a> <i>"repne\n\t"</i><a name=L386 href="source/include/string.h#L386">386</a> <i>"scasb\n\t"</i><a name=L387 href="source/include/string.h#L387">387</a> <i>"je 1f\n\t"</i><a name=L388 href="source/include/string.h#L388">388</a> <i>"movl $1,%0\n"</i><a name=L389 href="source/include/string.h#L389">389</a> <i>"1:\tdecl %0"</i><a name=L390 href="source/include/string.h#L390">390</a> :<i>"=D"</i> (__res):<i>"a"</i> (c),<i>"D"</i> (cs),<i>"c"</i> (<a href="ident?i=count">count</a>)<a name=L391 href="source/include/string.h#L391">391</a> :<i>"cx"</i>);<a name=L392 href="source/include/string.h#L392">392</a> return __res;<a name=L393 href="source/include/string.h#L393">393</a> }<a name=L394 href="source/include/string.h#L394">394</a> <a name=L395 href="source/include/string.h#L395">395</a> extern inline void * <a href="ident?i=memset">memset</a>(void * s,char c,int <a href="ident?i=count">count</a>)<a name=L396 href="source/include/string.h#L396">396</a> {<a name=L397 href="source/include/string.h#L397">397</a> __asm__(<i>"cld\n\t"</i><a name=L398 href="source/include/string.h#L398">398</a> <i>"rep\n\t"</i><a name=L399 href="source/include/string.h#L399">399</a> <i>"stosb"</i><a name=L400 href="source/include/string.h#L400">400</a> ::<i>"a"</i> (c),<i>"D"</i> (s),<i>"c"</i> (<a href="ident?i=count">count</a>)<a name=L401 href="source/include/string.h#L401">401</a> :<i>"cx"</i>,<i>"di"</i>);<a name=L402 href="source/include/string.h#L402">402</a> return s;<a name=L403 href="source/include/string.h#L403">403</a> }<a name=L404 href="source/include/string.h#L404">404</a> <a name=L405 href="source/include/string.h#L405">405</a> #endif<a name=L406 href="source/include/string.h#L406">406</a> </pre><hr><div align=center> [<b><i>源代码浏览</i></b>] [<a href="diff/include/string.h">区别标定</a>] [<a href="ident">标识符搜索</a>] [<a href="search">文本搜索</a>] [<a href="find">文件搜索</a>] </div><hr>本网页由 <a href="http:blurb.html">LXR引擎</a> 自动生成.<br></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -