近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread”,还经常又Assert failure:Cannot send events toobjects ow
1.close()函数 int close(int sockfd); //返回成功为0,出错为-1 close 一个套接字的默认行为是把套接字标记为已关闭,然后立即返回到调用进程,该套接字不能再由close的调用进程使用,也就是说它不能再作为read或write的第一个参数,然而TCP将尝试发送已排队等待发送到对端的任何数据,发送完毕后发生的是正常的TCP连接终止序列. 在多进程并发服务器中,父子进程共享着套接字,套接字描述符引用计数记录着共享着的进程个数,当父进程或某一子进程close掉套接字
memset void memset( void dest, int c, size_t count ); dest: Pointer to destination c: Character to set count: Number of characters 注意:这里count代表字符个数(字节数),如果为整数则为:整数个数*sizeof(int) _T与L宏 L宏为宽字节宏,无论什么环境下都能转化为宽字符,即Unicode字符: _T宏为一个适配宏,可使编译器会根据编译目标环境选择合适的(
create or replace function test(Name in varchar2 ) return varchar2 is V_CONTAINERDESC CHAR ); BEGIN FOR CUR1 IN (SELECT AREA ,ID FROM AREA ) LOOP V_CONTAINERDESC := V_CONTAINERDESC ||'你好'|| CUR1.AREA || '编号'||TO_CHAR(CUR1.ID); END LOOP; DBMS_OUTPUT.P