??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品中文字幕在线观看,亚洲国产日韩精品在线,中国av一区http://www.aygfsteel.com/canvas/archive/2012/11/06/how_to_use_gdb_to_find_the_kernel_source_code.html码?/dc:creator>码?/author>Tue, 06 Nov 2012 07:18:00 GMThttp://www.aygfsteel.com/canvas/archive/2012/11/06/how_to_use_gdb_to_find_the_kernel_source_code.htmlhttp://www.aygfsteel.com/canvas/comments/390882.htmlhttp://www.aygfsteel.com/canvas/archive/2012/11/06/how_to_use_gdb_to_find_the_kernel_source_code.html#Feedback0http://www.aygfsteel.com/canvas/comments/commentRss/390882.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/390882.html
addr2line也可以根据指令地址定位C代码对应的行Q但是对于Kernel module却不是很方便Q用gdbpҎ得多?br />
NOTEQ?span style="color: red;">在用gdb定位C代码之前需要开?g选项~译内核或者module

例如有这LCall Trace
Call Trace:
[<8033265c>] dump_stack+0x8/0x30
[<8003abbc>] warn_slowpath_common+0x70/0x98
[<80041f10>] local_bh_enable_ip+0x98/0xec
[<c13f1c6c>] ieee80211_alloc_node+0x29c/0x47c [umac]
[<c13f1f70>] ieee80211_reset_bss+0x58/0x154 [umac]
[<c13f7c84>] ieee80211_vap_attach+0x20/0x68 [umac]
[<c14096cc>] ath_vap_create+0x430/0x6b0 [umac]
[<c13f7290>] wlan_vap_create+0x58/0x210 [umac]
[<c14686e8>] osif_ioctl_create_vap+0x268/0x790 [umac]
[<c14597b0>] ath_ioctl+0x134/0x94c [umac]
[<8022db50>] dev_ioctl+0x28c/0x88

现在惛_位指令:
[<80041f10>] local_bh_enable_ip+0x98/0xec

可以q样做:
$ mips-linux-gdb vmlinux

GNU gdb 6.8
Copyright (coffee) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i386-pc-linux-gnu --target=mips-linux-uclibc"...

输入命o
(gdb) list *(local_bh_enable_ip+0x98)

gdbq回l果
0x80041f10 is in local_bh_enable_ip (kernel/softirq.c:216).
211
212 EXPORT_SYMBOL(_local_bh_enable);
213
214 static inline void _local_bh_enable_ip(unsigned long ip)
215 {
216  WARN_ON_ONCE(in_irq() || irqs_disabled());
217 #ifdef CONFIG_TRACE_IRQFLAGS
218  local_irq_disable();
219 #endif
220  /*
(gdb)


]]>
几个单的Makefilehttp://www.aygfsteel.com/canvas/articles/quick_makefile.html码?/dc:creator>码?/author>Tue, 06 Nov 2012 07:05:00 GMThttp://www.aygfsteel.com/canvas/articles/quick_makefile.htmlhttp://www.aygfsteel.com/canvas/comments/390880.htmlhttp://www.aygfsteel.com/canvas/articles/quick_makefile.html#Feedback0http://www.aygfsteel.com/canvas/comments/commentRss/390880.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/390880.html
0.只有一个文?br />
# 变量的定义,方便使用
CC      
= gcc
CCFLAGS 
= -O2 -s
BIN     
= test
OBJ     
= root_password_tool_win32.o

$(BIN) : $(OBJ)
    $(CC) $(CCFLAGS) 
-o test $(OBJ)

$(OBJ) : root_password_tool_win32.c
    $(CC) $(CCFLAGS) 
-c root_password_tool_win32.c

.PHONY : clean
clean :
    
-rm $(BIN) $(OBJ)



1.单编译命令行E序Q?(CC)前面是tabQ不是space

一׃个文Ӟ
test.c
md5.c md5.h
password.c password.h

main函数在test.c中,test.c文ginclude了md5.h和password.h

CC      = gcc
CCFLAGS 
= -O2 -s
BIN     
= password
OBJ     
= md5.o password.o test.o

$(BIN) : $(OBJ)
    $(CC) $(CCFLAGS) 
-o password $(OBJ)

md5.o : md5.c md5.h
    $(CC) $(CCFLAGS) 
-c md5.c

password.o : password.c password.h
    $(CC) $(CCFLAGS) 
-c password.c

test.o : test.c
    $(CC) $(CCFLAGS) 
-c test.c

.PHONY : clean
clean :
    
-rm $(BIN) $(OBJ)

make            # ~译得到password.exeQ这里在windows下cigwin+mingw环境中编?br />make clean    # 清理~译生成?.o{文?br />
2.使用g++~译win32E序的MakefileQ其中简写了一些,可以Ҏ1看看不同之处
说明Q?br />    (0)指定静态库目录Q连接静态库libcomctl32.a~译E序
    (1)~译windows资源文g(使用mingw的windres)
    (2)使用-mwindows~译选项去除弹出的cmdH口
CC      = g++

-O2       : optimization option
-s        : build small binary
-mwindows : use this option to remove the popping cmd window
CCFLAGS 
= -O2 --mwindows
BIN     
= test
WINDRES 
= windres
RES     
= resource.o
OBJ     
= main.o md5.o password.o $(RES)

# where is your mingw library
?
LIBPATH 
= 'C:\Program Files\CodeBlocks\MinGW\lib\'

LIBS
=-L$(LIBPATH) -lcomctl32

RM      
= -rm 

$(BIN): $(OBJ)
    $(CC) $(CCFLAGS) 
-o $(BIN) $(OBJ) $(LIBS)

main.o: main.cpp

md5.o: md5.cpp md5.h

password.o: password.cpp password.h

# ~译资源文g
$(RES): resource.rc rpt.ico manifest
    $(WINDRES) 
-o $(RES) resource.rc

.PHONY:clean
clean:
    $(RM) $(BIN) $(OBJ)


3.~译静态库
其中一?<Q?^, $@是Makefile的自动化变量Q详l了解可以看《跟我一起写Makefile》的W五?br />
CC            = g++
OBJS         = utp.o utp_utils.o

-g : for debug
CFLAGS        
= --O2 -Wall -DPOSIX
TARGET        
= libutp.a

.cpp.o:
    $(CC) 
-c $(CFLAGS) $<
    
all: $(TARGET)

libutp.a: $(OBJS)
    ar cru $@ $
^
    ranlib $@
    
.PHONY : clean
clean :
    
-rm *.o $(TARGET)

4.~译动态库
(0)windows下用mingw~译dll动态库
CC      = g++
OBJS    = utp.o utp_utils.o
CCFLAGS = -fno-exceptions -fno-rtti -Wall -g -lwsock
TARGET  = libutp.dll

all: $(TARGET)

$(TARGET): $(OBJS)
    -rm -f $(TARGET)
    $(CC) -shared -o $(TARGET) $(OBJS) -lws2_32

.cpp.o:
    $(CC) -c -DPOSIX -fpic -I . -I utp_config_lib $(CCFLAGS) $<

.PHONY: clean
clean:
    -rm -f $(OBJS) $(TARGET)

(1)linux下编译so动态库
CC      = g++
OBJS    
= utp.o utp_utils.o
CCFLAGS 
= -fno-exceptions -fno-rtti -Wall -g
TARGET  
= libutp.so

all: $(TARGET)

$(TARGET): $(OBJS)
    
-rm -f $(TARGET)
    g
++ -shared -o $(TARGET) $(OBJS)

.cpp.o:
    g
++ --DPOSIX -fpic -I . -I utp_config_lib $(CCFLAGS) $<

.PHONY: clean
clean:
    
-rm -f $(OBJS) CCFLAGS


5.~译多个目标Q?-2均是~译单个目标
(0) d头文件目?br />(1) 使用自己~译的静态库libutp.a
CC          = g++ 
CFLAGS      
= -g
LIBUTP_PATH 
= /home/actiontec/workspace/code_reading/third_party/libutp/lib
INCLUDES    
= -I${LIBUTP_PATH}
LIBS        
= -L$(LIBUTP_PATH) -lutp -lpthread -lrt
TARGET      
= all

all: server client

server: server.cpp
    $(CC) $(CFLAGS) 
-o $@ $^ $(INCLUDES) $(LIBS)

client: client.cpp
    $(CC) $(CFLAGS) 
-o $@ $^ $(INCLUDES) $(LIBS)

.PHONY : clean
clean:
    
-rm *.o server client
以上仅供参?img src ="http://www.aygfsteel.com/canvas/aggbug/390880.html" width = "1" height = "1" />

]]>
JavaE序如何限?控制下蝲和上传速度)http://www.aygfsteel.com/canvas/articles/bandwidthlimiter.html码?/dc:creator>码?/author>Thu, 18 Oct 2012 08:34:00 GMThttp://www.aygfsteel.com/canvas/articles/bandwidthlimiter.htmlhttp://www.aygfsteel.com/canvas/comments/389824.htmlhttp://www.aygfsteel.com/canvas/articles/bandwidthlimiter.html#Feedback2http://www.aygfsteel.com/canvas/comments/commentRss/389824.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/389824.html好久没有在这里写点东西了Q要L书写记录的习惯?br />
q里单的讨论一下java设计|络E序中如何控制上传和下蝲速度Q我们常见的FTPQHTTPQBT{协议都是TCP的,但是现在行的utorrent却基于UDP实现了自己UTP协议(UDP+拥塞控制)Q不用什么协议,站在I/O的角度来_限速的控制思\都是一L?br />
思\很简单,如下Q?br />
1.假设下蝲或者上传速度上限是m (KB/s),那么发送一个固定的字节数据(假设是n字节)的时间花ҎQn/mQ?br /> 2.假设现在要发送n字节的数据,那么理论所需的时间应该是n/mQ而在实际情况下,发送n字节的数据只p了tU,那么发送该发送线E就应该睡眠n/m-tU,q样基本实C速度的控制?br />
代码以TCPZ
速度控制
 1 package com.actiontec.net.bandwidth;
 2 
 3 /**
 4  * 
 5  * @author Le
 6  * 
 7  */
 8 public class BandwidthLimiter {
 9 
10     /* KB */
11     private static Long KB = 1024l;
12 
13     /* The smallest count chunk length in bytes */
14     private static Long CHUNK_LENGTH = 1024l;
15 
16     /* How many bytes will be sent or receive */
17     private int bytesWillBeSentOrReceive = 0;
18 
19     /* When the last piece was sent or receive */
20     private long lastPieceSentOrReceiveTick = System.nanoTime();
21 
22     /* Default rate is 1024KB/s */
23     private int maxRate = 1024;
24 
25     /* Time cost for sending CHUNK_LENGTH bytes in nanoseconds */
26     private long timeCostPerChunk = (1000000000l * CHUNK_LENGTH)
27             / (this.maxRate * KB);
28 
29     /**
30      * Initialize a BandwidthLimiter object with a certain rate.
31      * 
32      * @param maxRate
33      *            the download or upload speed in KBytes
34      */
35     public BandwidthLimiter(int maxRate) {
36         this.setMaxRate(maxRate);
37     }
38 
39     /**
40      * Set the max upload or download rate in KB/s. maxRate must be grater than
41      * 0. If maxRate is zero, it means there is no bandwidth limit.
42      * 
43      * @param maxRate
44      *            If maxRate is zero, it means there is no bandwidth limit.
45      * @throws IllegalArgumentException
46      */
47     public synchronized void setMaxRate(int maxRate)
48             throws IllegalArgumentException {
49         if (maxRate < 0) {
50             throw new IllegalArgumentException("maxRate can not less than 0");
51         }
52         this.maxRate = maxRate < 0 ? 0 : maxRate;
53         if (maxRate == 0)
54             this.timeCostPerChunk = 0;
55         else
56             this.timeCostPerChunk = (1000000000l * CHUNK_LENGTH)
57                     / (this.maxRate * KB);
58     }
59 
60     /**
61      * Next 1 byte should do bandwidth limit.
62      */
63     public synchronized void limitNextBytes() {
64         this.limitNextBytes(1);
65     }
66 
67     /**
68      * Next len bytes should do bandwidth limit
69      * 
70      * @param len
71      */
72     public synchronized void limitNextBytes(int len) {
73         this.bytesWillBeSentOrReceive += len;
74 
75         /* We have sent CHUNK_LENGTH bytes */
76         while (this.bytesWillBeSentOrReceive > CHUNK_LENGTH) {
77             long nowTick = System.nanoTime();
78             long missedTime = this.timeCostPerChunk
79                     - (nowTick - this.lastPieceSentOrReceiveTick);
80             if (missedTime > 0) {
81                 try {
82                     Thread.sleep(missedTime / 1000000,
83                             (int) (missedTime % 1000000));
84                 } catch (InterruptedException e) {
85                     e.printStackTrace();
86                 }
87             }
88             this.bytesWillBeSentOrReceive -= CHUNK_LENGTH;
89             this.lastPieceSentOrReceiveTick = nowTick
90                     + (missedTime > 0 ? missedTime : 0);
91         }
92     }
93 }
94 

下蝲控制
 1 package com.actiontec.net.bandwidth;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 
 6 /**
 7  * @author Le
 8  *
 9  */
10 public class DownloadLimiter extends InputStream {
11     private InputStream is = null;
12     private BandwidthLimiter bandwidthLimiter = null;
13     
14     public DownloadLimiter(InputStream is, BandwidthLimiter bandwidthLimiter)
15     {
16         this.is = is;
17         this.bandwidthLimiter = bandwidthLimiter;
18     }
19     @Override
20     public int read() throws IOException {
21         if(this.bandwidthLimiter != null)
22             this.bandwidthLimiter.limitNextBytes();
23         return this.is.read();
24     }
25 
26     public int read(byte b[], int off, int len) throws IOException
27     {
28         if (bandwidthLimiter != null)
29             bandwidthLimiter.limitNextBytes(len);
30         return this.is.read(b, off, len);
31     }
32 }

同样Q上传控?/div>
 1 package com.actiontec.net.bandwidth;
 2 
 3 import java.io.IOException;
 4 import java.io.OutputStream;
 5 
 6 /**
 7  * @author Le
 8  *
 9  */
10 public class UploadLimiter extends OutputStream {
11     private OutputStream os = null;
12     private BandwidthLimiter bandwidthLimiter = null;
13     
14     public UploadLimiter(OutputStream os, BandwidthLimiter bandwidthLimiter)
15     {
16         this.os = os;
17         this.bandwidthLimiter = bandwidthLimiter;
18     }
19     
20     @Override
21     public void write(int b) throws IOException {
22         if (bandwidthLimiter != null)
23             bandwidthLimiter.limitNextBytes();
24         this.os.write(b);
25     }
26     
27     public void write(byte[] b, int off, int len) throws IOException {
28         if (bandwidthLimiter != null)
29             bandwidthLimiter.limitNextBytes(len);
30         this.os.write(b, off, len);
31     }
32 
33 }

对于一个TCP socket

1 ServerSocket socket = new ServerSocket();
2 //其它初始化略

 1 //从socket中以一定的速率L?br /> 2 //```java
 3 DownloadLimiter dl = new DownloadLimiter(socket.getInputStream(), new BandwidthLimiter(6250));
 4 is = new DataInputStream(dl);
 5 
 6 //L?/span>
 7 int len = is.readInt();
 8 ByteBuffer buffer = ByteBuffer.allocate(4 + len);
 9 buffer.putInt(len);
10 is.readFully(buffer.array(), 4, buffer.remaining());
11 //```
12 
13 //以一定的速率写数据到socket
14 //```java
15 UploadLimiter ul = new UploadLimiter(socket.getOutputStream(), new BandwidthLimiter(6250));
16 ul.write();
17 //```

在多U程环境下也可以使用上述的方法。最后附图是d理器的|络利用率图6250KB/sQ也是50000kb/s,附图中网l利用率也在5%左右Q所以应该这个做法还准)


]]>把ubuntu配置成\由器+DHCPhttp://www.aygfsteel.com/canvas/articles/router-dhcp.html码?/dc:creator>码?/author>Wed, 22 Aug 2012 14:30:00 GMThttp://www.aygfsteel.com/canvas/articles/router-dhcp.htmlhttp://www.aygfsteel.com/canvas/comments/386071.htmlhttp://www.aygfsteel.com/canvas/articles/router-dhcp.html#Feedback2http://www.aygfsteel.com/canvas/comments/commentRss/386071.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/386071.html资源Q?u>

    PC A: Ubuntu 12.04 LTSQ两块网卡,分别为eth0和eth1Q用eth0q接互联|?u>

    PC B: Windows 7, 一块网卡,为eth0

 

目标Q?u>

    使得B通过Aq接互联|?IPv4)Q即实现A\由器的功?u>

 

步骤Q?u>

 

PC A:

    (0)假设eth0已经配置好,PC可以通过eth0q接互联|?wbr>Q配|eth1为,?etc/network/interface所C?u>

 

                        auto lo

                        iface lo inet loopback

                       

                        auto eth0

                        iface eth0 inet static

                        address 172.16.10.65

                        gateway 172.16.10.254

                        netmask 255.255.0.0

                       

                        auto eth1

                        iface eth1 inet static

                        address 192.168.6.1

                        netmask 255.255.255.0

                        network 192.168.6.0

                        broadcast 192.168.6.255

   

     当然Q我是删除了network-manager,network-manager-gnome的才可以通过配置interfaceq个文g来设|网l的

     你也可以通过network-manager来配|。DNS服务器可以通过/etc/resolv.conf来配|:

                       

                        nameserver 168.95.1.1 #q是我的DNS服务器,你可以配|成你可以访问的Q如8.8.8.8

 

    重启你的|络服务或者重启PC AQ以上设|就可以生效?u>

                 

    (1)Linuxpȝ自n有IPv4包{发的功能Q在/etc/sysctl.confq行配置Q?u>

    打开IPv4转发功能:

                        net.ipv4.ip_forward=1

 

    输入以下命o使得上面的设|生?或者重启电?Q?u>

 

                        sudo sysctl -p

 

    (2)通过iptable实现IPv4包{?u>

 

                        sudo iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE

 

    可以通过iptables-saveiptables rule都保存到文g中,在通过iptables-restoredrule到iptables中,

    可以自己写一个脚本来实现iptables自动的蝲入ruleQ?wbr>或者找到iptables的配|文件来修改

 

PC B

    (0)PC B的eth0与PC A的eth1用网U直接连接,配置PC B的eth0为:

               

                        IP ADDRESS : 192.168.6.101

                        SUBNET MASK: 255.255.255.0

                        GATE WAY   : 192.168.1.1i

                        DNS Server : 168.95.1.1

 

    q样PC B可以通过PC Aq接互联|了

 

 

增强配置Q?u>

    路由器都可以自动lPC分配IPQ而不需要手动配|IPQ?wbr>q是通过DHCP来实现的。如果也要实现相同的功能Q那

    需要在PC A上搭Z个DHCP服务器?u>

 

    (0)安装DHCP服务?u>

                        sudo apt-get install isc-dhcp-common isc-dhcp-server

    (1)配置DHCP

        (i)修改/etc/default/isc-dhcp-server

 

                INTERFACES="eth1"

 

        (ii)修改/etc/dhcp/dhcpd.conf

 

                subnet 192.168.6.0 netmask 255.255.255.0 {

                  range 192.168.6.100 192.168.6.200;

                  option routers 192.168.6.1;

                  option broadcast-address 192.168.6.255;

                  option domain-name-servers 168.95.1.1;

                  default-lease-time 600;

                  max-lease-time 7200;

                }

 

    (2)PC B可以自动获取IP了,如果在PC A的eth1上接一个switchQ接在switch上所有的PC都可以获取IP?/p>

]]>
【{载】JVM内存理http://www.aygfsteel.com/canvas/archive/2011/09/08/358321.html码?/dc:creator>码?/author>Thu, 08 Sep 2011 11:49:00 GMThttp://www.aygfsteel.com/canvas/archive/2011/09/08/358321.htmlhttp://www.aygfsteel.com/canvas/comments/358321.htmlhttp://www.aygfsteel.com/canvas/archive/2011/09/08/358321.html#Feedback0http://www.aygfsteel.com/canvas/comments/commentRss/358321.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/358321.html1、http://www.iteye.com/topic/802573
2、http://www.iteye.com/topic/802638


]]>
攚wopenlayers构徏轻量U专用地图信息系l(1Q?/title><link>http://www.aygfsteel.com/canvas/articles/openlayers-custom.html</link><dc:creator>码?/dc:creator><author>码?/author><pubDate>Mon, 15 Aug 2011 05:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/canvas/articles/openlayers-custom.html</guid><wfw:comment>http://www.aygfsteel.com/canvas/comments/356500.html</wfw:comment><comments>http://www.aygfsteel.com/canvas/articles/openlayers-custom.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canvas/comments/commentRss/356500.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canvas/services/trackbacks/356500.html</trackback:ping><description><![CDATA[本文Z个openlayers目的ȝQ其中可能有一些遗漏或描述得不准确的地方,望批评指正?br /> 本文目标Q?br /> 构徏一个完全自定义的轻量地图信息pȝQ以openlayers为基Q需要自定义地图的元素样式,包括囑ֱ切换的样式、地囑֯航的样式、地图标记的实现、自定义弹出框等{。该专用地图信息pȝ地图来源于google地图Q包括普通地囑֛层、卫星媄像图层、\面信息图层,另外自行M一些局部区域的三维地图Q本目Z业内部项目,与互联网隔离Q故不可使用google的地图apiQ则需要抓取google的相兛_图资源(暂时使用google地图资源Q,利用openlayers构徏轻量U专用地图信息系l,q里的轻量是指使用tilecache接口实现地图囑ֱQ相兌料见前篇博文Q?br /> 实现的效果图如下Q?br /><br /> <div align="center"><img src="http://www.aygfsteel.com/images/blogjava_net/canvas/捕获.PNG" alt="" border="0" height="669" width="1023" /><br />? 后台理面<br /><br /><br /><img src="http://www.aygfsteel.com/images/blogjava_net/canvas/捕获2.PNG" alt="" border="0" height="668" width="1022" /><br />? 前台展示面Q全屏显C)</div><br /> <br /> <span style="font-family: Comic Sans MS;">地图相关说明Q?/span><br /> <div> <p style="margin-left:21.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:14.0000pt; font-family:'Wingdings'; "></span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图面事g说明</span></p> <p style="margin-left:21.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Wingdings'; "></span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图基本功能</span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(1) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">左上角的地图览控gQ包括地囄上下左右UdQ地囄~放</span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(2) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">右上角三个选项Q包括地图、航拍、三l_点击每个选项Q出现相应的地图视图Q其中地图、航拍用google地图数据Q下载google地图Q?/span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(3) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">能够标注地图的行政区?/span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(4) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">鼠标在地图上双击鼠标左键Q放大地图一个别,鼠标滚轮向前向后转动分别是放大羃地图一个别,鼠标右键点击Q无响应事g</span></p> <p style="margin-left:21.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Wingdings'; "></span><span style="font-size: 10pt; font-family: Comic Sans MS;">展示q_功能</span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(1)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">ȝ面视?/span></p> <p style="margin-left:63.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">a) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">有若q个个图层,地图下面有各个图层的选项卡,点击每个选项Q显C相应的内容</span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(2)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">局部区域视?/span></p> <p style="margin-left:63.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">a) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">选中标记Q点Q,跌{到局部区域视?/span></p> <p style="margin-left:63.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">b) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">点击标记Q点Q,Ҏ目的相应设|,昄地图下方的选项卡,点击选项卡,昄响应的内?/span></p> <p style="margin-left:63.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">c) </span><span style="font-size: 10pt; font-family: Comic Sans MS;">鼠标攑֜标记Q点Q上时。出现提C框Q鼠标移到提C框上面Q可以点ȝ应的链接Q点击链接之后,弹出一个对话框Qƈ且锁住地囄?/span></p> <p style="margin-left:21.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:14.0000pt; font-family:'Wingdings'; "></span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图数据说明</span></p> <p style="margin-left:21.0000pt; text-indent:-21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Wingdings'; "></span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图基本数据</span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(1)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图囄Q要有连l的~放U别的图Q每个别之间相??/span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(2)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">航拍囄Q要有连l的~放U别的图Q每个别之间相??/span></p> <p style="margin-left:21.0000pt; margin-bottom:0pt; margin-top:0pt; "><span style="font-size: 10pt; font-family: Comic Sans MS;">(3)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">三维囄Q需要和地图囄、航拍图片保持一致的大小Q和~放U别和地理位|?/span></p> <p style="margin-left: 21pt; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10pt; font-family: Comic Sans MS;">(4)</span><span style="font-size: 10pt; font-family: Comic Sans MS;">地图效果图上面的使用的图标和弹出H口图,需要原Ӟ~写css需要?/span></p><p style="margin-left: 21pt; margin-bottom: 0pt; margin-top: 0pt;"><br /><span style="font-size: 10pt; font-family: Comic Sans MS;"></span></p><div></div> </div><img src ="http://www.aygfsteel.com/canvas/aggbug/356500.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canvas/" target="_blank">码?/a> 2011-08-15 13:55 <a href="http://www.aygfsteel.com/canvas/articles/openlayers-custom.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mark一下学习计?/title><link>http://www.aygfsteel.com/canvas/archive/2011/05/11/mark2011.html</link><dc:creator>码?/dc:creator><author>码?/author><pubDate>Wed, 11 May 2011 14:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/canvas/archive/2011/05/11/mark2011.html</guid><wfw:comment>http://www.aygfsteel.com/canvas/comments/350041.html</wfw:comment><comments>http://www.aygfsteel.com/canvas/archive/2011/05/11/mark2011.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canvas/comments/commentRss/350041.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canvas/services/trackbacks/350041.html</trackback:ping><description><![CDATA[?011qmark一日?br /> <br /> 好久都没有做ȝ了,好久都没有做什么项目了Q整天忙着上课Q读论文Q最q一D|间还开始忙着谈恋׃?br /> <br /> 2011q开始这几个月读了数readings in database systems中超牛们的论文,对关pL据库知识也有了一定了解,而不是停留在以前仅仅会用关系数据库那个层ơ上了。还Msimpledb的源代码Qminibase的源代码没有dQ也不想MQ很没意思,Jim Gray大神说关pL据库没啥搞头了,我觉得也是。Stonebraker大神也搞ZscidbQ不搞传l的关系数据库了?br /> <br /> 好吧Q我也不搞关pL据库了,开始跟qscidb吧。no-sqlQnot only-sql。我来了?br /> <br /> <img src ="http://www.aygfsteel.com/canvas/aggbug/350041.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canvas/" target="_blank">码?/a> 2011-05-11 22:26 <a href="http://www.aygfsteel.com/canvas/archive/2011/05/11/mark2011.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openlayers结(有参考项目代?http://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.html码?/dc:creator>码?/author>Mon, 11 Oct 2010 12:42:00 GMThttp://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.htmlhttp://www.aygfsteel.com/canvas/comments/333731.htmlhttp://www.aygfsteel.com/canvas/articles/how_to_do_with_openlayers.html#Feedback32http://www.aygfsteel.com/canvas/comments/commentRss/333731.htmlhttp://www.aygfsteel.com/canvas/services/trackbacks/333731.html阅读全文

]]>
记盛大校园牛h创新技术大?/title><link>http://www.aygfsteel.com/canvas/archive/2010/09/18/snda.html</link><dc:creator>码?/dc:creator><author>码?/author><pubDate>Sat, 18 Sep 2010 09:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/canvas/archive/2010/09/18/snda.html</guid><wfw:comment>http://www.aygfsteel.com/canvas/comments/332388.html</wfw:comment><comments>http://www.aygfsteel.com/canvas/archive/2010/09/18/snda.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canvas/comments/commentRss/332388.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canvas/services/trackbacks/332388.html</trackback:ping><description><![CDATA[     摘要: 好久没有在blogjava上面写东西了Q前D|间一直在忙两个项目,忙到没有旉做一些ȝQ还好项目进展都q不错。这D|间自p然搞得很忙,但是自己却感到非常的开心,我突然觉得这个世界好像都是属于我的:遇到了很多给我帮助的人,做了很多自己喜欢做的事,开始了自己特别向往的生zR?nbsp; <a href='http://www.aygfsteel.com/canvas/archive/2010/09/18/snda.html'>阅读全文</a><img src ="http://www.aygfsteel.com/canvas/aggbug/332388.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canvas/" target="_blank">码?/a> 2010-09-18 17:13 <a href="http://www.aygfsteel.com/canvas/archive/2010/09/18/snda.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank">ά</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ӳ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӱ</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">质</a>| <a href="http://" target="_blank">Ǽ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">ͺ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">綫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ҧ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">޵</a>| <a href="http://" target="_blank">ƽң</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank">ӻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">Ͷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ɽ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>