<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ycf74514的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ycf74514</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ycf74514]]></copyright><item><title><![CDATA[xv6上下文切换代码]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/77425512</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/77425512</guid><author>ycf74514</author><pubDate>Sun, 20 Aug 2017 09:52:16 +0800</pubDate><description><![CDATA[# Context switch
#
#   void swtch(struct context **old, struct context *new);
# 
# Save current register context in old
# and then load register context from new.

.globl swtch
swtch:
  movl 4(%esp), ]]></description><category></category></item><item><title><![CDATA[xv6进程调度代码]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/77422444</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/77422444</guid><author>ycf74514</author><pubDate>Sun, 20 Aug 2017 08:46:51 +0800</pubDate><description><![CDATA[最近在研究libco,看到协程切换运行，于是想到很早之前看的xv6，于是翻了一下代码，看看进程调度，以及上下文切换的部分，怀念那段撸OS的日子




// Per-CPU process scheduler.
// Each CPU calls scheduler() after setting itself up.
// Scheduler never returns.  It lo]]></description><category></category></item><item><title><![CDATA[HOWTO: using gprof with multithreaded applications]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/51213498</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/51213498</guid><author>ycf74514</author><pubDate>Thu, 21 Apr 2016 22:10:35 +0800</pubDate><description><![CDATA[gprof，PRE_LOAD]]></description><category></category></item><item><title><![CDATA[An interesting kind of JavaScript memory leak]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/51123263</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/51123263</guid><author>ycf74514</author><pubDate>Mon, 11 Apr 2016 17:10:27 +0800</pubDate><description><![CDATA[Recently, Avi and David tracked down a surprising JavaScript memory leak in Meteor's live HTML template rendering system. The fix will be in the 0.6.5 release (in its final stages
 of QA right now).]]></description><category></category></item><item><title><![CDATA[The Minimum About Unicode and Character Sets]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50941896</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50941896</guid><author>ycf74514</author><pubDate>Mon, 21 Mar 2016 01:22:14 +0800</pubDate><description><![CDATA[Ever wonder about that mysterious Content-Type tag? You know, the one you're supposed to put in HTML and you never quite know what it should be?
Did you ever get an email from your friends in Bulgari]]></description><category></category></item><item><title><![CDATA[使用SQLAlchemy时数据库连接池的问题]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50530470</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50530470</guid><author>ycf74514</author><pubDate>Sun, 17 Jan 2016 02:15:24 +0800</pubDate><description><![CDATA[在使用 
create_engine创建引擎时，如果默认不指定连接池设置的话，一般情况下，SQLAlchemy会使用一个 
QueuePool绑定在新创建的引擎上。并附上合适的连接池参数。 
在以默认的方法create_engine时（如下），就会创建一个带连接池的引擎。
engine = create_engine('postgresql://postgres@127.0.0.1/dbn]]></description><category></category></item><item><title><![CDATA[python解析XML]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50526290</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50526290</guid><author>ycf74514</author><pubDate>Fri, 15 Jan 2016 22:45:59 +0800</pubDate><description><![CDATA[一般使用ElementTree之前，我都会执行：


[python] 
view plaincopyprint?


from xml.etree import ElementTree as ET  


下面是个例子：


[python] 
view plaincopyprint?


try:      tree = ET.parse("Campaign_]]></description><category></category></item><item><title><![CDATA[WSDL文件详解]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50454846</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50454846</guid><author>ycf74514</author><pubDate>Mon, 04 Jan 2016 11:13:04 +0800</pubDate><description><![CDATA[转载自：http://kalogen.javaeye.com/blog/418958
 WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application，他将Web服务描述定义为一组服务访问点，客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用]]></description><category></category></item><item><title><![CDATA[Why Not Specialize Function Templates]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50425945</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50425945</guid><author>ycf74514</author><pubDate>Tue, 29 Dec 2015 13:24:51 +0800</pubDate><description><![CDATA[Why Not Specialize Function Templates?
This article appeared in C/C++ Users Journal, 19(7), July 2001.
 
While the title of this article is a question, it could also be made into a statement: this ]]></description><category></category></item><item><title><![CDATA[ucontext实现协程]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50208285</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50208285</guid><author>ycf74514</author><pubDate>Mon, 07 Dec 2015 17:09:37 +0800</pubDate><description><![CDATA[转载自：http://blog.youkuaiyun.com/qq910894904/article/details/41911175


目录(?)[+]





1.干货写在前面

协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。
首先我们可以看看有哪些语言已经具备协程语义：

比较重量级的有C#、erlang、golang*轻量级有python、lua、j]]></description><category></category></item><item><title><![CDATA[解决Mac下GDB提示签名错误]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50087757</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50087757</guid><author>ycf74514</author><pubDate>Sat, 28 Nov 2015 21:45:18 +0800</pubDate><description><![CDATA[解决Mac下GDB提示签名错误
原文作者：Power 转载请保留此链接。
安装GDB
新的Mac下有gcc、g++，但是没有gdb
有人说安装XCode就有，但是我真没有
通过Homebrew安装，没有的执行安装brew命令
ruby -e "$(curl -fsSLk https://raw.github.com/Homebrew/homebrew/go/install)"
然后安]]></description><category></category></item><item><title><![CDATA[C++得到成员变量的偏移值]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/50063185</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/50063185</guid><author>ycf74514</author><pubDate>Thu, 26 Nov 2015 23:07:05 +0800</pubDate><description><![CDATA[一：零地址转换
以下为MFC常用宏：
#define OFFSET(structure, member) ((int)&((structure*)0)->member);




    #include   
    #define GET(A,m) (int)(&((A*)0)->m);  
    using namespace std;  
    struct A{  
 ]]></description><category></category></item><item><title><![CDATA[Python获取操作系统信息（版本、操作系统名称、位数、架构等）]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49943179</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49943179</guid><author>ycf74514</author><pubDate>Fri, 20 Nov 2015 09:42:36 +0800</pubDate><description><![CDATA[import platform
import os
import sys
import platform




def machine():
    """Return type ofmachine."""
    if os.name == 'nt' andsys.version_info[:2] 
      
 returnos.environ.get("PROCE]]></description><category></category></item><item><title><![CDATA[C/C++与Python混合编程]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49923437</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49923437</guid><author>ycf74514</author><pubDate>Thu, 19 Nov 2015 09:44:30 +0800</pubDate><description><![CDATA[作者：Jho Jerry
链接：http://www.zhihu.com/question/23003213/answer/56121859
来源：知乎

以下讨论中，Python指它的标准实现，即CPython（虽然不是很严格）

本文分4个部分

C/C++ 调用 Python （基础篇）— 仅讨论Python官方提供的实现方式Python 调用 C/C++ （基础篇）— 仅讨]]></description><category></category></item><item><title><![CDATA[绝不重新定义继承而来的缺省参数值--from Effective c++ item 37]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49894645</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49894645</guid><author>ycf74514</author><pubDate>Tue, 17 Nov 2015 23:20:37 +0800</pubDate><description><![CDATA[重温Effective c++
Item 37,Never redefine a function's inherited default parameter value.


 虚函数的调用，以及VFP的实现机制，应该已经很清楚了。
虚函数通过动态绑定，在通过指针和引用调用的时候，通过实际指向的对象的虚函数列表得到要调用的函数的地址。


但是一直不清楚的是，如果派生类重新定义了]]></description><category></category></item><item><title><![CDATA[关于wxPython打包图标的显示]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49814781</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49814781</guid><author>ycf74514</author><pubDate>Fri, 13 Nov 2015 10:57:32 +0800</pubDate><description><![CDATA[windows下，在对使用python的编写的程序进行打包时，常用的工具就是py2exe了，该工具只需要一些脚本就看实现将python程序打包成一个exe文件。并且该exe程序的执行不需要系统预先安装python环境。windows下常见的gui成程序在打包时，都不会缺少如下脚本：
[python] 
setup(  
    windows = [  
        {  
    ]]></description><category></category></item><item><title><![CDATA[Python使用struct处理二进制]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49563221</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49563221</guid><author>ycf74514</author><pubDate>Sun, 01 Nov 2015 22:26:33 +0800</pubDate><description><![CDATA[有的时候需要用python处理二进制数据，比如，存取文件，socket操作时.这时候，可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.
 

struct模块中最重要的三个函数是pack(), unpack(), calcsize()

pack(fmt, v1, v2, ...)     按照给定的格式(fmt)，把数据封装成字符串(实际上是类]]></description><category></category></item><item><title><![CDATA[Linux下程序的Profile工具]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49279649</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49279649</guid><author>ycf74514</author><pubDate>Tue, 20 Oct 2015 17:02:25 +0800</pubDate><description><![CDATA[我们在写程序，特别是嵌入式程序的时候，通常需要对程序的性能进行分析，以便程序能够更快更好地运行，达到实时（real-time）的目的。如果程序很大，分析起来就很困难。如果有个工具能够自动进行程序的性能分析，那就最好了。这里介绍一种Linux下程序的Profiling工具----GNU profiler。
gprof的基本用法：
1． 使用 -pg 选项编译和链接你的应用程序
    
  ]]></description><category></category></item><item><title><![CDATA[八皇后-优化冲突检测]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49082501</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49082501</guid><author>ycf74514</author><pubDate>Mon, 12 Oct 2015 23:21:56 +0800</pubDate><description><![CDATA[八皇后冲突判断优化]]></description><category></category></item><item><title><![CDATA[八皇后问题（Python实现）]]></title><link>https://blog.youkuaiyun.com/ycf74514/article/details/49079591</link><guid>https://blog.youkuaiyun.com/ycf74514/article/details/49079591</guid><author>ycf74514</author><pubDate>Mon, 12 Oct 2015 20:46:46 +0800</pubDate><description><![CDATA[看《Python基础教程》，看到生成器一章，提到八皇后问题，没有继续往后看，自己试着写了一个。
八皇后问题是数据结构里面的经典问题，思路主要是利用回溯法，利用栈保留走过的路径，走过的路，入栈，走不通了，出栈，继续往下尝试。
思路比较简单，写个伪码没什么问题。但是写得时间比较长，要是面试的时候让你笔写个无BUG可运行版本，那还真得喊救命了


运行结果：能够打印出全部92种解法]]></description><category></category></item></channel></rss>