minigui介面產生工具的一種簡單實現方式,輕鬆實現Windows/linux minigui 跨平台介面編程

前一段時間在Linux下封裝了一個簡單的圖形庫,封裝時主要借鑒minigui 1.33的源碼。弄完了之後發現編程很是繁瑣,懷念在Windows下用滑鼠拖拽的歲月。看著minigui和windows很相似的代碼,於是有了下面的想法:1. 利用VC設計好視窗介面,進行可視操作,對生產的資源檔進行解析2. 解析擷取的資訊,控制項類型、標題、視窗風格、座標、擴充風格3.

linux中與時間處理相關的函數

  最近在查關於Linux下時間編程的問題:        1. Linux下與時間有關的結構體         struct timeval        {              int tv_sec;              int tv_usec;          };          其中tv_sec是由淩晨開始算起的秒數,tv_usec則是微秒(10E-6 second)。          struct timezone        {  

linux 中NTP時間同步

There are tow pen source software related to the NTP in linux, The first is ntpdate, the second is ntpd. you can install them as following:    apt-get installl ntp; apt-get install openntpd; or emerge ntp; emerge openntpd.ntpdate can be run manually

linux程式編譯期加入編譯時間和svn版本號碼

通常我們在程式開發時會加入版本查詢命令,如:“-v”,此時一般會顯示build版本,以及build日期等,因此如果每次編譯時間能自動添加這些資訊的話,就非常方便了。下面先說說添加時間的方法:1.最簡單方式,代碼中直接加入宏__TIME__和__DATE__通過他們可以直接得到編譯時間,然後可以在代碼裡列印2.有點繞不實用,在Makefile中定義一個變數CT="\"`date '+%Y-%m-%d

linux下擷取本地IP資訊(沒看代碼)

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>//#include <fcntl.h>#include <sys/ioctl.h>//#include <netdb.h>#include <netinet/in.h>#include

linux的cache memory解析

PS:前天有童鞋問我,為啥我的Linux系統沒運行多少程式,顯示的可用記憶體這麼少?其實Linux與Win的記憶體管理不同,會盡量緩衝記憶體以提高讀寫效能,通常叫做Cache Memory。有時候你會發現沒有什麼程式在運行,但是使用top或free命令看到可用記憶體free項會很少,此時查看系統的 /proc/meminfo 檔案,會發現有一項 Cached Memory:輸入cat /proc/meminfo查看:MemTotal: 16425996 kBMemFree: 5698808

windows和linux下擷取當前程式路徑以及cpu數

#ifdef WIN32#include <Windows.h>#else#include <stdio.h>#include <unistd.h>#endif#include <assert.h>std::string getCurrentAppPath(){#ifdef WIN32char path[MAX_PATH + 1] = {0};if (GetModuleFileName(NULL, path, MAX_PATH) !=

(自用型)windows/linux網路編程通用跨平台標頭檔定義

#ifndef _SOCKET_TYPE_H#define _SOCKET_TYPE_H#ifdef _WIN32#include <winsock2.h>#define ERRNO(WSAGetLastError())#define NEEDBLOCKWSAEWOULDBLOCKtypedef int socklen_t;#else#include <netinet/in.h>#include <sys/types.h>#include

linux 枚舉網卡IP地址

#include <stdio.h>#include <sys/types.h>#include <ifaddrs.h>#include <netinet/in.h>#include <string.h>#include <arpa/inet.h>#include <vector>void getlocaliplist(std::vector<unsigned int>&

linux下fork出的子進程去掉對主進程的繼承

在linux中,一旦fork出子進程後,子進程就會繼承主進程的描述符,這為開發人員帶來了不少問題,比如當我使用socket的時候,一旦我綁定了某個連接埠,而後fork,如果此時fork出的子進程不退出的,那麼我主進程重啟後,就會出現無法綁定連接埠的問題。當然解決這種問題你可以選擇在socket初始化時,加入SOCK_CLOEXEC這個選項,使得子進程不繼承。那下面就介紹一種通用方法(如有問題,歡迎指出):#include <stdlib.h>#include <stdio.h&

linux最大開啟描述符量修改

1.使用命令在bash中使用ulimit,僅對當前shell生效另外可以在bashrc等啟動指令碼裡面加上ulimit的命令列2.使用函數在自己的程式中調用setrlimit來修改3.修改設定檔(沒試過,看到別人寫的)debian/redhat下修改/etc/security.limits.conf,增加類似如下兩行:* soft nofile 4096* hard nofile 4096slackware下修改/建立/etc/limits,增加一行:* N4096在debian3.1,

linux下編譯log4cxx

花了一晚上時間編譯log4cxx, 總算通過了,這鳥工具,整S我了。使用log4cxx的版本為0.97 , OS為Fedora 6. 在make的過程中,首先碰到的問題就是:QUOTE:../include/log4cxx/xml/domconfigurator.h:249: error: extra qualification 'log4cxx::xml::DOMConfigurator::' on member 'subst'以上問題花了近二個小時,才找到答案,

linux kernel中的免鎖演算法

       

linux開發輔助命令(二)

linux開發輔助命令(一)1.查看進程開啟的檔案lsof2.查看ipv4,ipv6監聽狀態與對應進程lsof -Pnl +M -i4lsof -Pnl +M -i63.查看rpm安裝資訊rpm -ql 安裝包名稱4.修改當前shell的可開啟描述符最大值ulimt -SHn 655355.添加防火牆/sbin/iptables -A INPUT -i eth0 -p tcp --sport 143 -j ACCEPT/sbin/iptables -A INPUT -i eth0 -p udp

linux設定網路

修改dnsvi /etc/resolv.confnameserver 61.177.7.1centos修改網路參數vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 #物理裝置名稱TYPE=EthernetHWADDR=18:20:27:21:A7:2BNAME="system eth0"IPADDR=192.168.1.10 #IP地址NETMASK=255.255.255.0 #掩碼NETWORK=192.168.1.0

Linux/ubuntu下的boost庫安裝

        我一直都沒有寫部落格的習慣,最近正好在研究linux下的開發(目前也只是粗粗的研究),且用到了boost庫,就乘此機會寫點什麼,最起碼記錄一下我在安裝boost的一些步驟,主要給和我一樣的linux開發新手們提供點借鑒(當然如果看到這篇文檔的話 ),作者(jwybobo2007)。       1.下載boost庫         這個我就不說啥了,去官網看一下就能下到: www.boost.org ,現在的版本更新到了1.44       2.執行:sudo apt-get

linux下avi檔案解析(附源碼)

前段時間由於項目需要,要解avi檔案,當時我第一時間想到用ffmpeg來處理,但想想覺得太大了,又是放到arm上跑的,感覺沒必要。然後,搜尋引擎上稍微搜了一下,沒找到有用的樣本,大部分都是利用windows的api進行讀寫,很明顯linux下用不了。結果花了2-3天時間研究並寫了一個avi檔案的解鎖裝代碼,但是後來因某些原因沒有去使用AVI了,所以代碼也沒進行後續的完善最佳化。這裡貼出來供記錄以及需要的人作參考。標頭檔:/*!@brief avi檔案分析提取器@author jwybobo200

Linux下安裝Oralce10G

Linux下安裝Oralce10G一. 安裝oracle (1) 解壓過程(以oracle登入,釋放安裝檔案,使用更少的磁碟空間,速度更快) 在/tmp下解壓縮10201_database_linux32.zip:unzip 10201_database_linux32.zip開始安裝oracle  (2)開始安裝: 用root執行 #xhost + 以oracle使用者登入系統,進行Oracle的安裝:cd /tmp/database

linux umask命令

例如,對於u m a s k值0 0 2,相應的檔案和目錄預設建立許可權是什麼呢?第一步,我們首先寫下具有全部許可權的模式,即7 7 7 (所有使用者都具有讀、寫和執行許可權)。第二步,在下面一行按照u m a s k值寫下相應的位,在本例中是0 0 2。第三步,在接下來的一行中記下上面兩行中沒有匹配的位。這就是目錄的預設建立許可權。稍加練習就能夠記住這種方法。第四步,對於檔案來說,在建立時不能具有檔案許可權,只要拿掉相應的執行許可權位元即可。這就是上面的例子,其中u m a s k值為0 0

談linux磁碟結構及分區

 談linux磁碟結構及分區1991年,芬蘭的一名學生linus

總頁數: 3662 1 .... 477 478 479 480 481 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.