精华内容
下载资源
问答
  • 作为电子维修人员,只有懂电路的原理图,才能知道它的各组成部分的作用及各...从元器件开始学习在电子产品的电战板上有不同外形、不同种类的电子元器件,它们所对应的文字标识、符号及相关参数都标注在元器件的...

    5ea1f8abe19f15c17954ebef72d2737e.png

    作为电子维修人员,只有读懂电路的原理图,才能知道它的各组成部分的作用及各部分的相互关系,并进一步估算其性能指标,科学地运用器件;也只有读懂电路的原理图,才能改进电路性能,正确分析和排除故障。 那么,我们怎么才能读懂电路的原理图呢?下面随我来看一下有哪些步骤和技巧吧。

    从元器件开始学习

    1af05f318cd4e1fbaff9701d14700967.png

    在电子产品的电战板上有不同外形、不同种类的电子元器件,它们所对应的文字标识、符号及相关参数都标注在元器件的旁边。元器件是构成电子产品的基础,也就是说任何的电子产品都是由各种各样的元器件组合而成的。

    因此,了解电子元器件的基础知识,掌握不同元器件在电路图中的符号和基本功能特点是读懂电路原理的第一步。这就相当于读文章,必须先识字是一个道理。

    要读懂电路原理图,不仅要掌握一些规律、技巧和方法,还要具备一些扎实的理论基础知识才能快速的学会看懂原理图。需要熟练掌握电子产品中常用电子元器件的基本知识,如电阻、电容、电感、二极管、三极管、晶闸管、变压器、集成电路等,充分了解它们的种类、特征及在电路中的符号,它们在电路起什么作用和功能等。

    对于集成电路,初学者大可不必了解其内部构造及原理,只需要把它看做是一个黑盒子,有输入信号端和输出信号端,可以实现什么功能就行了,刚开始就想深入了解是不可能的,而且容易打信心,导致兴趣大减。

    从单元电路学习看图

    3447eeb0aca1fe4a46dcd31deedf6c9d.png

    单元电路就是由常用元器件、简单电路用基本放大电路构成的可实现一些基本功能的电路,是整机电路的单元模块,如串并联电路、RC电路、LC电路、放大器、振荡器等。如果说认识元器件相当于识字的话,那么学习单元电路就相当于文章中的一个段落。

    任何的电子产品都有可以实现不同功能的单元电路组成,比如电源电路,因此学习读原理图就要先从电源电路入手,了解简单电路的结构及功能对于读懂整机原理图有非常大的帮助。

    如上图,把整机原理图牙分不同的单元电路。由几个电子元器件构成的基本电路是所有原理图的最小单元,如整流电路、滤波电路、稳压电路、放大电路、振荡电路等。

    掌握这些基本电路的信号处理和原理,是对识读原理图的锻炼,也能够在学习过程中培养基本的读图思路,只有具备读懂基本电路图的能力,才有可能进一步看懂、读通较复杂的电路原理图。

    从整机原理出发

    bf9a89885d38f721a74b9f97cc28581a.png

    简单的AM收音机电路

    电子产品的整机电路是由许多单元电路构成的。在了解单元电路的结构和工作原理的同时,弄清电子产品所实现的功能及各单元电路之间的关联,对于熟悉电子产品的结构和工作原理非常重要。

    例如,在影音产品中,包含有音频、视频、供电及各种控制等多种信号,如果不注意各单元电路之间的关联,单从某一个单元电路入手很难弄清整个产品的结构特点和信号走向。

    因此,从整机原理出发,找出关联,理清顺序是最终读懂电路图的关键。

    0cc9a75f3024f21552d601ffc42faea4.png

    熟悉和理解电路图中常用的一些基本图形和符号,如接地、短路、断路、单双电源供电、电位、信号能道、控制回路等,通过基本概念的理解了解电路各部分之间的如何关联、如何形成回路等。

    整机电路原理图的识读可以按照以下四个步聚进行:

    1,了解电子产品的功能。一个电子产品的电路图是为了完成和实现这个产品的整体功能而设计的,首先搞清楚产品电路的整体功能和主要技术指标,便可以对整机的电路图有了一个基本的认识。比如,收音机的功能就是接收无线电台信号,处理后将信号还原成声音后由扬声器输出的;电风扇则是将电能通过电机转换为机械能的设备。

    2,找到整机原理图的总输入端和总输出端。整机原理图一般是按照信号处理流程为顺序绘制的,按照一般人的读书习惯,通常输入端画在左侧,信号处理在中间,而输出端画在右侧,但复杂的电路一般无定则。因此,分析整机原理图可先找出输入端和输出端,就可大致判定信号的流程和方向了。

    3,以主要元器件为核心将整机原理图“化整为零”。在掌握整机原理流程的基础上,根据电路中的核心元件划分出一个个的功能单元,然后将这些功能单元对应学过的基础电路进行分析。比如我前面文章中讲到的电磁炉,没看过的可点击链接观看,看完别忘了点赞哦。

    4,将各个单元电路的分析结果综合起来。每个单元电路实现的功能综合在一起就是整个产品了,这样你就读完了整机原理图。

    怎么检查电路原理图最近一直在做嵌入式系统,画原理图。最后,为了保证原理图准确无误,检查原理图花费我近两周的时间,在此,把我在检查原理图方面的心得体会总结在此,供大家参考,说得不对的地方欢迎大家指出。往往我们画完电路原理图后,也知道要检查检查,但从哪些地方入手检查呢?检查原理图需要注意哪些地方呢?下面听我根据我的经验一一道来。1. 检查所有的芯片封装图引脚是否有误当然,我指的是自己画的芯片封装。我在项目中曾经把一个芯片的2个引脚画反了,导致最后制版出来后不得不跳线,这样就很难看了。所以,检查与原理图前一定要从芯片的封装入手,坚决把错误的封装扼杀在摇篮中!2. 使用protel的Tools->ERC电气规则检查,根据其生成的文件来排错这个指的是protel99的ERC电气规则检查,DXP应该也会有相应的菜单可以完成这样一个检查。很有用,它可以帮你查找出很多错误,根据它生成的错误文件,对照着错误文件检查一下你的原理图,你应该会惊叹:“我这么仔细地画图,竟然还会有这么多错误啊?”3. 检测所有的网络节点net是否都连接正确(重点)一般容易出现的错误有:(1) 本来两个net是应该相连接的,却不小心标得不一致,例如我曾经把主芯片的DDR时钟脚标的是DDR_CLK,而把DDR芯片对应的时钟脚标成了DDRCLK,由于名字不一致,其实这两个脚是没有连接在一起的。(2) 有的net只标出了一个,该net的另一端在什么地方却忘记标出。(3) 同一个net标号有多个地方重复使用,导致它们全部连接到了一起。4. 检测各个芯片功能引脚是否都连接正确,检测所有的芯片是否有遗漏引脚,不连接的划X芯片的功能引脚一定不要连错,例如我使用的音频处理芯片有LCLK、BCLK、MCLK三个时钟引脚,与主芯片的三个音频时钟引脚一定要一一对应,连反一个就不能工作了。是否有遗漏引脚其实很容易排查,仔细观察各个芯片,看是否有没有遗漏没有连接出去的引脚,查查datasheet,看看该引脚什么功能,如果系统中不需要,就使用X把该引脚X掉。5. 检测所有的外接电容、电感、电阻的取值是否有根据,而不是随意取值其实新手在画原理图时,时常不清楚某些外围电阻、电容怎么取值,这时千万不要随意取值,往往这些外围电路电阻、电容的取值在芯片的datasheet上都有说明的,有的datasheet上也给出了典型参考电路,或者一些电阻电容的计算公式,只要你足够细心,大部分电阻电容的取值你都是可以找到依据的。偶尔实在找不到依据的,可以在网上搜搜其他人的设计案例或者典型连接,参考一下。总之,不要随意设置这些取值。6. 检查所有芯片供电端是否加了电容滤波电源端的电容滤波的重要性就不用我多说了,其实做过硬件的人都应该知道。一般情况下,电路电源输入端会引进一些纹波,为了防止这些纹波对芯片的逻辑造成太大的影响,往往需要在芯片供电端旁边加上一些0.1uf之类的电容,起到一些滤波效果,检查电路原理图时,你可以仔细观察一下是否在必要地芯片电源端加上了这样的滤波电路呢?7. 检测系统所有的接口电路接口电路一般包括系统的输入和输出,需要检查输入是否有应有的保护等,输出是否有足够的驱动能力等输入保护一般有:反冲电流保护、光耦隔离、过压保护等等。输出驱动能力不足的需要加上一些上拉电阻提高驱动能力。8. 检查各个芯片是否有上电、复位的先后顺序要求,若有要求,则需要设计相应的时延电路例如我项目中使用的DM6467芯片,对供电电压的上电有先后顺序要求,必须先给1.2V电源端供电,然后给1.8V电源端供电,最后给3.3V电源端供电。因此,我们将电源芯片产生的三种电压通过一个时延芯片的处理(其实也可以使用一个三极管,利用钳位电压),然后再依次输送到主芯片中。9. 检查各个芯片的地,该接模拟地的接模拟地,该接数字地的是否接的数字地,数字地与模拟地之间是否隔开一般处理模拟信号的芯片有:传感器芯片、模拟信号采集芯片、AD转换芯片、功放芯片、滤波芯片、载波芯片、DA转换芯片、模拟信号输出芯片等等,往往只有当系统中存在这些处理模拟信号的芯片或者电路时才会涉及模拟地和数字地。一般芯片的接地脚该连接模拟地还是数字地在芯片手册中都有说明,按照datasheet上连接就可以了。10. 观察各个模块是否有更优的解决方案(可选)其实,刚刚设计原理图初稿时,往往没有想那么多,当整个系统成型后,你往往会发现其实很多地方是可以改进可以优化的。我们项目中的电源模块前前后后改版了4次,每过一段时间往往又发现了更好的解决方案,现在的电源方案又简洁又实用,效果也高很多,我想这就是不断改进不断优化的好处吧!-END-

    (免责声明:整理本文出于传播相关技术知识,版权归原作者所有。)

    391f3202cce369deecfb01bdebe3680c.png

    展开全文
  • 我想一段好的数值分析代码有无数种替代for loop的方法,更简洁和易。Sum求和符号频繁的出现在各种公式里面。比如 Composite Simpson Rule: 我之前看到求和符号的第一反应是这儿又得用 for loop了。例如 可能会用...

    351d14034f019d3cd45a0c5b3c81b6a8.png

    我上第一节数值分析课时,老师着重解释着数学原理,对于如何实现这些算法只是留给我们一些伪代码。这些伪代码由基础运算和各种for loop组成。我想一段好的数值分析代码有无数种替代for loop的方法,更简洁和易读。

    Sum

    求和符号频繁的出现在各种公式里面。比如 Composite Simpson Rule:

    我之前看到求和符号的第一反应是这儿又得用 for loop了。例如

    可能会用以下的代码来计算。
    sum=0
    for i in range(1,n//2+1):
      sum = sum+f(a+(2*i-1)*h)
    sum 

    这是一个有点冗长,不清楚的写法。

    Map

    我们可以用np.summap函数来实现。

    import numpy as np
    np.sum(np.array(list(map(lambda i:f(a+(2*i-1)*h),np.arange(1,n//2+1)))))

    瞬间把之前的几行代码压缩成了一行。这样写的坏处是括号比较多,在没有括号高亮的情况下容易出现漏括号或者多括号的情况。

    Vectorize

    这个方法全靠 Numpy。

    import numpy as np
    i = np.arange(1,n//2+1)
    sum1 = lambda i: f(a+(2*i-1)*h)
    vfunc = np.vectorize(sum1)
    np.sum(vfunc(i))

    这个思路和Map的思路类似,但优势是创建了一个可以复用的 Vectorize Function,可以接受数组的输入。

    Another For Loop

    这个其实和 ·for loop没什么区别,知识短了一点。

    import numpy as np
    np.sum([f(a+(2*i-1)*h) for i in np.arange(1,n//2+1) ])

    这个方法会比较灵活。在面对多个参数的时候会比较好用。比如有一个函数 f(a,b,c,d) ,只有 c 这个参数需要变化,a,b,d 都是不要变化的。我们可以写这样写:

    import numpy as np
    [f(a,b,c,d) for c in np.arange(n)]

    矩阵点乘

    这里我们用一个简单一点的例子。我们需要计算

    。这个的本质是 a 和 b 两个矩阵的点乘。
    a=[...]
    b=[...]
    np.dot(a,b)

    快速生成一个矩阵

    这个很简单。例如生成一个5*5矩阵。

    import numpy as np
    np.zeros((5, 5))

    Table

    Tabulate

    print(tabulate([["Name","Age"],["Alice",24],["Bob",19]],headers="firstrow"))
    # Name      Age
    # ------  -----
    # Alice      24
    # Bob        19
    print(tabulate({"Name": ["Alice", "Bob"],
    "Age": [24, 19]}, headers="keys"))
    #   Age  Name
    # -----  ------
    #    24  Alice
    #    19  Bob

    Plotly

    import plotly.graph_objects as go
    
    fig = go.Figure(data=[go.Table(header=dict(values=['A Scores', 'B Scores']),
                     cells=dict(values=[[100, 90, 80, 90], [95, 85, 75, 95]]))
                         ])
    fig.show()

    298b33182d77682983fb5c8f2f54dd9e.png

    Plot

    我每次都记不住怎么画图。

    matplotlib

    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots(figsize=(9,6))
    ax.loglog(hs,composite_trapezoid_rule_error_func1,'bo-',label='CTR ERROR',lw=2)
    ax.loglog(hs,np.power(hs,2),'ro-',label='err(h) = h^2',lw=2)
    ax.set_title("Error in CTR approximation",fontsize=22)
    ax.legend(fontsize=15)
    ax.set_xlabel('h',fontsize=22)
    ax.set_ylabel('err(h)',fontsize=22)
    ax.xaxis.set_tick_params(labelsize=15)
    ax.yaxis.set_tick_params(labelsize=15)

    46d1d15eb4ac26c0fc81aaec7c2cf1f5.png

    题图来自: Lorena Lane

    展开全文
  • 问题:在windows系统中,换行的符号是'\r\n'。python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行。但是在windows文件中,可能在同一行中同时存在'\n','\r\n','\r'。这个时候python的默认...

    问题:在windows系统中,换行的符号是'\r\n'。python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行。但是在windows文件中,可能在同一行中同时存在'\n','\r\n','\r'。这个时候python的默认行为会将一行拆分成多行输出,影响预期结果。

    此时需要设置open函数的newline参数,修改python对换行的默认行为。

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

    newline有五种取值:None,'','\n','\r','\r\n'。

    在输入过程(从文件到程序),newline用于定义换行的符号:

    1.如果newline为None,碰到'\r','\n','\r\n'都算行尾,而且这些符号都会被转换成'\n'。

    2.如果newline为'',也是碰到'\r','\n','\r\n'都算行尾,但是这些符号不会发生转换。

    3.如果newline为'\r','\n','\r\n',等于是显示指定了换行符,而且行中的符号不会发生转换。

    在输出过程(从程序到文件),newline用于指定'\n'的转换符号:

    1.如果newline为None,所有的'\n'都被转换成系统换行符。

    2.如果newline为'','\n',不会发生转换。

    3.如果newline为'\r','\r\n',所有的'\n'会被转换成'\r'或者'\r\n'。

    实例一:输出不指定newline,所有的'\n'都被替换成'\r\n',即使是'\r\n'中的'\n'也不例外。

    def file_seperator_test1():

    # output

    with open("medical.txt", "w") as f:

    f.write("I am a\r good\n boy.\r\n")

    #input

    with open("medical.txt", "r", newline="\r\n") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test1()

    输出结果:

    ['I am a\r good\r\n', ' boy.\r\r\n']

    实例二: 输出指定newline为''或'\n',不会转换

    def file_seperator_test2():

    # output

    with open("medical.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n")

    with open("medical2.txt", "w", newline="\n") as f:

    f.write("I am a\r good\n boy.\r\n")

    #input

    with open("medical.txt", "r", newline="\r\n") as f:

    print(list(f))

    with open("medical2.txt", "r", newline="\r\n") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test2()

    输出结果:

    ['I am a\r good\n boy.\r\n']

    ['I am a\r good\n boy.\r\n']

    实例三:输出指定newline为'\r'或'\r\n',所有的'\n'都被替换了,当所有'\n'都被替换成'\r'时,在windows中,换行符就不见了,所有的行变成了一行

    def file_seperator_test3():

    # output

    with open("medical.txt", "w", newline="\r") as f:

    f.write("I am a\r good\n boy.\r\n where should\r\n I change the line ?\r\n")

    f.write("I can't stop\r\n")

    with open("medical2.txt", "w", newline="\r\n") as f:

    f.write("I am a\r good\n boy.\r\n")

    #input

    with open("medical.txt", "r", newline="\r\n") as f:

    print(list(f))

    with open("medical2.txt", "r", newline="\r\n") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test3()

    输出结果:

    ["I am a\r good\r boy.\r\r where should\r\r I change the line ?\r\rI can't stop\r\r"]

    ['I am a\r good\r\n', ' boy.\r\r\n']

    实例四:输入不指定newline,默认把所有的三种符号都当做换行符,而且全都转换成'\n'

    def file_seperator_test4():

    # output

    with open("medical.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n")

    #input

    with open("medical.txt", "r") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test4()

    输出结果:

    ['I am a\n', ' good\n', ' boy.\n']

    实例五:输入指定newline为'',仍然把三种符号都当做换行符,但是不转换

    def file_seperator_test5():

    # output

    with open("medical.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n")

    #input

    with open("medical.txt", "r", newline="") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test5()

    输出结果:

    ['I am a\r', ' good\n', ' boy.\r\n']

    实例六:输入指定newline为'\r','\n','\r\n',显式指定了换行符,只有碰到这几个符号才会换行

    def file_seperator_test6():

    # output

    with open("medical.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n where should\r\n I change the line ?\r\n")

    f.write("I can't stop\r\n")

    with open("medical2.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n where should\r\n I change the line ?\r\n")

    f.write("I can't stop\r\n")

    with open("medical3.txt", "w", newline="") as f:

    f.write("I am a\r good\n boy.\r\n where should\r\n I change the line ?\r\n")

    f.write("I can't stop\r\n")

    #input

    with open("medical.txt", "r", newline="\r") as f:

    print(list(f))

    with open("medical2.txt", "r", newline="\n") as f:

    print(list(f))

    with open("medical3.txt", "r", newline="\r\n") as f:

    print(list(f))

    if __name__ == "__main__":

    file_seperator_test6()

    输出结果:

    ['I am a\r', ' good\n boy.\r', '\n where should\r', '\n I change the line ?\r', "\nI can't stop\r", '\n']

    ['I am a\r good\n', ' boy.\r\n', ' where should\r\n', ' I change the line ?\r\n', "I can't stop\r\n"]

    ['I am a\r good\n boy.\r\n', ' where should\r\n', ' I change the line ?\r\n', "I can't stop\r\n"]

    结论:

    1.如果要写入带'\n'的行,可以把newline设定为''或者'\n',避免python更改'\n'

    2.如果要读入带'\n'的行,可以把newline设定为'\r\n',指定换行符只能是'\r\n'。

    展开全文
  • 1、虚拟机检测到new关键字时,先检查这个new的参数(也就是类名)在常量池中有没有一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析、初始化过了,如果没有,需要先执行类的加...

    本文较为浅显的说明一下new一个Java对象的过程是怎么样的,对象头到底存了啥,已经对象的访问定位方式。里面会涉及到其他知识,等总结后再把链接贴上来。

    Object obj = new Object();

    1、虚拟机检测到new关键字时,先检查这个new的参数(也就是类名)在常量池中有没有一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析、初始化过了,如果没有,需要先执行类的加载(类的加载过程下一篇总结

    2、如果已经加载过类了,那么就开始为对象分配内存空间。具体分配多大的空间在类加载的时候就已经确定了,现在需要在堆区找到一块内存空间。有两种方法:

    2.1、指针碰撞:假设堆里面的内存是规整的,也就是已分配的空间在一边,没分配过的在一边(老年代的标记-整理?)。这样只需要一个指针在内存区域内移动需要分配的内存大小的距离即可。

    2.2、空闲列表:假设堆里面的内存不是规整的(大部分是这样(新生代)),那就需要维护一个内存分配的列表,记录着哪些内存块是可用的,找到一个可用的块分配给新new的对象即可。

    3、分配内存是一个频繁的过程,且不是一个原子操作(在空闲列表找可用内存块---分配内存---维护空闲列表(这三个只是粗略的步骤))。在多线程环境下,很可能发生并发问题。所以虚拟机提供了两种方案来解决并发问题:

    3.1、CAS+重试:实际上虚拟机是采用了CAS算法,让分配内存的动作首先变成原子操作,然后加上分配失败重试即可(有点笼统,下次附详细步骤的链接)

    3.2、TLAB:利用线程私有的TLAB区域来分配内存空间是保证并发操作的不错手段,但是在当前TLAB内存不够,需要新增另一个TLAB空间时需要加锁(这个新增的过程需要保证原子性)。

    4、初始化已分配的内存空间:把分配到的内存空间初始化为零值(不包括对象头),如果是通过TLAB方式分配的,那这个初始化零值的过程可以在分配阶段完成。这个操作保证了我们在使用类的成员变量时即时不初始化或不赋值也能使用,其值为零。

    class A{int a;}

    5、设置对象头信息:对象是哪个类的实例,如何找到类的元数据信息,对象的哈希码,对象的GC分代年龄

    6、init方法:执行代码里面的初始化信息。class B{int a = 1;}

     

    对象在内存中存储布局分为对象头,实例数据,对齐填充

    什么是对象头?

    对象头包括对象自身的运行时数据和类型指针。

    运行时数据:哈希码,GC分代年龄,索状态标志,线程持有的索,偏向线程ID,偏向时间戳

    类型指针:指向对象的类的元数据指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。

    另外,如果对象是一个数组,那么对象头中还存放了数组的长度。(对象的元数据确定对象的大小,加上数组长度确定数组对象的大小)

     

    对象的访问定位:

    句柄和直接指针,直接看图就一目了然了。

     

    通过句柄存放,栈中的本地变量表的reference引用的值不需要变化,当发生GC,导致对象移动时,只要改句柄中的引用即可。不好的就是需要两次寻址才能找到。

    通过直接引用的方式是速度快。

    展开全文
  • 怎么运用操作符 操作符接受一个或多个参数,并生成一个新值。 基本操作符 赋值操作符 符号:= 作用:取右边的值,把它赋予给左边 注意事项: 右值可以是任意常数、变量或表达式 左值必须是一个明确...
  • FileWriter只能接受字符串形式的参数,也就是说只能把内容存到文本文件。相对于文本文件,采用二进制格式的文件存储更省空间。InputStream用于按字节从输入流读取数据。其中的int read()方法读取一个字节,这个字节...
  • (推荐教程:Python入门教程)strftime() 函数接收以时间元组,并返回以可字符串表示的当地时间,格式由参数format决定。语法:time.strftime(format[, t])参数:format -- 格式字符串。t -- 可选的参数t是一个...
  • (推荐教程:Python入门教程)strftime() 函数接收以时间元组,并返回以可字符串表示的当地时间,格式由参数format决定。语法:time.strftime(format[,t])参数:format -- 格式字符串。t -- 可选的参数t是一个struct...
  • 有关一些Java的最基础的东西,下面是零零散散的整理了许多,期间偶然发现了一位大神的曾经的笔记,现在整理了一下,发出来也是多多宣传Java的精妙之处,东西还是比较全的,要是坚持下来相信你的知识会更广泛的 ...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    2.12 怎样从/向数据文件/写结构? 结构填充 2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 2.14 为什么...
  • 2.12 怎样从/向数据文件/写结构? 27 结构填充 27 2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 27  ...
  • 比较易,而且避免与不分大小写的组合键混淆。 以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 sample2: 利用For命令来实现对一台目标Win2k主机的暴力密码破解。 我们用...
  • 1.4.1 符号模式 4 1.4.2 chmod 命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod 命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用 suid/guid 8 1.6.2 ...
  • 2.12 怎样从/向数据文件/写结构? 56 结构填充 56 2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 56 2.14 ...
  • 2.12 怎样从/向数据文件/写结构? 56 结构填充 56 2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 56 2.14 ...
  • 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid...
  • 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid...
  • Linux shell编程指南

    2015-05-29 22:40:12
    1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的...
  • shell编程和unix命令

    2015-02-16 15:41:39
    1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 ...
  • 2.12 怎样从/向数据文件/写结构? 结构填充  2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式?  2.14 为什么...
  • 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的...
  •  2.12 怎样从/向数据文件/写结构? 结构填充 2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 2.14 为什么...
  • LINUX与UNIX Shell编程指南.pdf

    热门讨论 2010-10-23 00:49:00
    1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的...

空空如也

空空如也

1 2 3 4 5
收藏数 99
精华内容 39
关键字:

参数符号怎么读