第 14 行调用 of_demo_controller_register 注册 demo controller 驱动,xlate 函数设置的都是 of_demo_simple_xlate, 这个函数完成对 user 传来的参数的处理 1. int of_demo_controller_registe

Size: px
Start display at page:

Download "第 14 行调用 of_demo_controller_register 注册 demo controller 驱动,xlate 函数设置的都是 of_demo_simple_xlate, 这个函数完成对 user 传来的参数的处理 1. int of_demo_controller_registe"

Transcription

1 作者 彭东林 平台 TQ2440 Linux 概述 上一篇大概介绍了一下 demo controller 的结构, 下面结合驱动分析 正文 一 demo controller 驱动 这里主要分析 probe 函数 demo_controller_probe: 1. static int demo_controller_probe(struct platform_device *pdev) 2. { 3. struct device *dev = &pdev >dev; 4. struct device_node *np = dev >of_node; 5. int ret = 0; dev_dbg(dev, "%s enter.\n", func ); if (!np) { 10. dev_err(dev, "of_node is NULL\n"); 11. return EINVAL; 12. } ret = of_demo_controller_register(np, of_demo_simple_xlate, dev); 15. if (ret < 0) { 16. dev_err(dev, "%s: register demo controller failed: %d\n", func, 17. return EINVAL; 18. } dev_info(dev, "register demo controller successfully.\n"); return ret; 23. }

2 第 14 行调用 of_demo_controller_register 注册 demo controller 驱动,xlate 函数设置的都是 of_demo_simple_xlate, 这个函数完成对 user 传来的参数的处理 1. int of_demo_controller_register(struct device_node *np, 2. int (*of_demo_xlate) 3. (struct of_phandle_args *, struct of_demo *), 4. void *data) 5. { 6. struct of_demo *ofdemo; if (!np!of_demo_xlate) { 9. pr_err("%s: not enough information provided\n", func ); 10. return EINVAL; 11. } if (!of_get_property(np, "demo controller", NULL)) { 14. pr_err("%s: can not register demo controller for %s.\n", 15. func, np >name); 16. return EINVAL; 17. } ofdemo = kzalloc(sizeof(*ofdemo), GFP_KERNEL); 20. if (!ofdemo) 21. return ENOMEM; ofdemo >of_node = np; 24. ofdemo >of_demo_xlate = of_demo_xlate; 25. ofdemo >of_demo_data = data; /* Now queue of_demo controller structure in list */ 28. mutex_lock(&of_demo_lock); 29. list_add_tail(&ofdemo >of_demo_controllers, &of_demo_list); 30. mutex_unlock(&of_demo_lock); return 0; 33. } 这个函数用 ofdemo 代表一个 demo controller 结构体, 然后进行初始化, 最后将其加入到全局链表 of_demo_list 中 二 demo user 驱动 还是从 demo_user_probe 开始, 在 demo_user_probe 中主要调用的就是 of_demo_request, 将 name 表示的要申请的 demo 资源传递给 demo controller, 然后返回处理以后的结果 1. int of_demo_request(struct device_node *np, const char *name) 2. { 3. struct of_phandle_args demo_spec;

3 4. struct of_demo *ofdemo; 5. int result; 6. int index; if (!np!name) { 9. pr_err("%s: not enough information provided\n", func ); 10. return EINVAL; 11. } index = of_property_match_string(np, "demo names", name); 14. if (index < 0) { 15. pr_err("%s: not match %s in demo names\n", func, name); 16. return ENODEV; 17. } if (of_parse_phandle_with_args(np, "demos", "#demo cells", index, 20. &demo_spec)) { 21. pr_err("%s: parse %s failed\n", func, name); 22. return ENODEV; 23. } mutex_lock(&of_demo_lock); 26. ofdemo = of_demo_find_controller(&demo_spec); if (ofdemo) { 29. result = ofdemo >of_demo_xlate(&demo_spec, ofdemo); 30. } else { 31. pr_warn("%s: can not find demo controller for %s\n", 32. func, name); 33. result = 1; 34. } mutex_unlock(&of_demo_lock); of_node_put(demo_spec.np); return result; 41. } 第 13 行的 of_property_match_string 完成的功能 : 解析 np 节点, 返回 name 表示的字符串在 "demonames" 属性值中的索引号 第 19 行调用 of_parse_phandle_with_args, 解析 np 节点的 "demos" 属性, 获得第 index 个字段, 存放到 demo_spec 中第 26 行调用 of_demo_find_controller 根据 demo_spec 中的 device_node 成员找到对应的 demo controller 第 29 行调用找到的 demo controller 的 of_demo_xlate 函数, 也就是 of_demo_simple_xlate, 对 demo_spec 的 args 成员中的参数进行处理, 然后返回处理以后的结果第 38 行释放前面的 demo controller 的 device_node, 因为在调用 of_parse_phandle_with_args 会 get 该 device node

4 三 详细分析 1 of_property_match_string 1. int of_property_match_string(const struct device_node *np, const char *propn 2. const char *string) 3. { 4. const struct property *prop = of_find_property(np, propname, NULL); 5. size_t l; 6. int i; 7. const char *p, *end; if (!prop) 10. return EINVAL; 11. if (!prop >value) 12. return ENODATA; p = prop >value; 15. end = p + prop >length; for (i = 0; p < end; i++, p += l) { 18. l = strnlen(p, end p) + 1; 19. if (p + l > end) 20. return EILSEQ; 21. pr_debug("comparing %s with %s\n", string, p); 22. if (strcmp(string, p) == 0) 23. return i; /* Found it; return index */ 24. } 25. return ENODATA; 26. } 第 4 行获得片 propname 属性的值第 14 行中 prop >value 指向的是存放属性值的占用的内存空间的起始地址第 15 行的 prop >length 指向的是属性值占用的内存空间的长度, 所以 end 指向的是属性值占用的内存地址空间的结尾地址第 18 行的 strnlen 函数搜索从 p 开始长度为 (end >p), 直到找到搜索到结尾或者 '\0', 所以该行的作用就是找到 propname 属性中的每一个字符串的长度, 字符串的首地址存放在 p 中, 字符串的长度存放在 l 中, 这样的话, 第 17 行的 p+=l, 此时 p 就指向下一个字符串的开头 第 22 行将找到的字符串 p 跟传入的 string 字符串比较, 如果不相等的话, 继续遍历下一个字符串 ; 如果相等的话, 表示找到了 string 指向的字符串, 然后返回 i, 也就是找到的字符串在属性值里的索引 2 of_parse_phandle_with_args 1. /** 2. * of_parse_phandle_with_args() Find a node pointed by phandle in a list 3. pointer to a device tree node containing a list

5 4. property name that contains a list 5. property name that specifies phandles' arguments count 6. index of a phandle to parse out 7. optional pointer to output arguments structure (will be fill 8. * 9. * This function is useful to parse lists of phandles and their arguments. 10. * Returns 0 on success and fills out_args, on error returns appropriate 11. * errno value. 12. * 13. * Caller is responsible to call of_node_put() on the returned out_args >np 14. * pointer. 15. * 16. * Example: 17. * 18. * phandle1: node1 { 19. * #list cells = <2>; 20. * } 21. * 22. * phandle2: node2 { 23. * #list cells = <1>; 24. * } 25. * 26. * node3 { 27. * list = <&phandle1 1 2 &phandle2 3>; 28. * } 29. * 30. * To get a device_node of the `node2' node you may call this: 31. * of_parse_phandle_with_args(node3, "list", "#list cells", 1, &args); 32. */ 33. int of_parse_phandle_with_args(const struct device_node *np, const char *lis 34. const char *cells_name, int index, 35. struct of_phandle_args *out_args) 36. { 37. if (index < 0) 38. return EINVAL; 39. return of_parse_phandle_with_args(np, list_name, cells_name, 0, 40. index, out_args); 41. } 首先可以看看这个函数的注释, 基本就可以直到这个函数的目的了, 这个也是很核心的函数 1. static int of_parse_phandle_with_args(const struct device_node *np, 2. const char *list_name, 3. const char *cells_name, 4. int cell_count, int index, 5. struct of_phandle_args *out_args) 6. { 7. struct of_phandle_iterator it; 8. int rc, cur_index = 0; /* Loop over the phandles until all the requested entry is found */ 11. of_for_each_phandle(&it, rc, np, list_name, cells_name, cell_count) { 12. /*

6 13. * All of the error cases bail out of the loop, so at 14. * this point, the parsing is successful. If the requested 15. * index matches, then fill the out_args structure and return, 16. * or return ENOENT for an empty entry. 17. */ 18. rc = ENOENT; 19. if (cur_index == index) { 20. if (!it.phandle) 21. goto err; if (out_args) { 24. int c; c = of_phandle_iterator_args(&it, 27. out_args >args, 28. MAX_PHANDLE_ARGS); 29. out_args >np = it.node; 30. out_args >args_count = c; 31. } else { 32. of_node_put(it.node); 33. } /* Found it! return success */ 36. return 0; 37. } cur_index++; 40. } /* 43. * Unlock node before returning result; will be one of: 44. * ENOENT : index is for empty phandle 45. * EINVAL : parsing error on data 46. */ err: 49. of_node_put(it.node); 50. return rc; 51. } 第 行的循环会不断遍历 demos 属性的值, 直到循环次数跟传入的 index 相同, 也就是找到了 demos 属性中的第 index 项, 然后将解析出来的关于该项的信息存放到传入的 out_args 中, 其中 np 存放的是第 index 项引用的 demo controller 设备节点, 第 index 项的参数个数存放到 args_count 中, 具体的参数存放到 args 中这里需要看看 of_for_each_phandle 的定义 : 1. #define of_for_each_phandle(it, err, np, ln, cn, cc) \ 2. for (of_phandle_iterator_init((it), (np), (ln), (cn), (cc)),\ 3. err = of_phandle_iterator_next(it); \ 4. err == 0; \ 5. err = of_phandle_iterator_next(it))

7 这里涉及到两个函数 of_phandle_iterator_init 和 of_phandle_iterator_next. of_phandle_iterator_init: 1. int of_phandle_iterator_init(struct of_phandle_iterator *it, 2. const struct device_node *np, 3. const char *list_name, 4. const char *cells_name, 5. int cell_count) 6. { 7. const be32 *list; 8. int size; memset(it, 0, sizeof(*it)); list = of_get_property(np, list_name, &size); 13. if (!list) 14. return ENOENT; it >cells_name = cells_name; 17. it >cell_count = cell_count; 18. it >parent = np; 19. it >list_end = list + size / sizeof(*list); 20. it >phandle_end = list; 21. it >cur = list; return 0; 24. } 这里初始化了一个 it 变量, 下面会反复使用 : 第 12 行找到 demos 属性的属性值占用的内存空间的大小 size, 然后将该内存空间的首地址存放到 list 中第 16 行的 cells_name 指向的是 "#demo cells" 第 17 行的 cell_count 被初始化为 0 第 18 行 parent 指向 demo user 这个设备树节点的 device_node 第 19 行 list_end 指向 "demos" 属性值内存空间的结尾第 20 行的 phandle_end 指向 "demos" 属性值内存空间首地址第 21 行的 cur 初始化为 "demo" 属性值内存空间首地址 of_phandle_iterator_next: 1. int of_phandle_iterator_next(struct of_phandle_iterator *it) 2. { 3. uint32_t count = 0; if (it >node) { 6. of_node_put(it >node); 7. it >node = NULL; 8. } 9.

8 10. if (!it >cur it >phandle_end >= it >list_end) 11. return ENOENT; it >cur = it >phandle_end; /* If phandle is 0, then it is an empty entry with no arguments. */ 16. it >phandle = be32_to_cpup(it >cur++); if (it >phandle) { /* 21. * Find the provider node and parse the #* cells property to 22. * determine the argument length. 23. */ 24. it >node = of_find_node_by_phandle(it >phandle); if (it >cells_name) { 27. if (!it >node) { 28. pr_err("%s: could not find phandle\n", 29. it >parent >full_name); 30. goto err; 31. } if (of_property_read_u32(it >node, it >cells_name, 34. &count)) { 35. pr_err("%s: could not get %s for %s\n", 36. it >parent >full_name, 37. it >cells_name, 38. it >node >full_name); 39. goto err; 40. } 41. } else { 42. count = it >cell_count; 43. } /* 46. * Make sure that the arguments actually fit in the remaining 47. * property data length 48. */ 49. if (it >cur + count > it >list_end) { 50. pr_err("%s: arguments longer than property\n", 51. it >parent >full_name); 52. goto err; 53. } 54. } it >phandle_end = it >cur + count; 57. it >cur_count = count; return 0; err: 62. if (it >node) { 63. of_node_put(it >node);

9 64. it >node = NULL; 65. } return EINVAL; 68. } 第 5 行的 if 分支是为了释放上次循环中不符合条件的 demo controller 节点, 对于符合条件的 device node 节点的释放工作由调用者完成, 这个从函数的注释里看得很清楚第 10 行是判断是否遍历完成第 16 行 cur 指向的是每一个 entry 的第一个整数, 也就是该 entry 所引用的 demo controller 节点的 phandle 第 24 行根据 phandle 找到所引用的 demo controller 的 device_node 第 33 行获取该 demo controller 节点的 "#demo cells" 属性的值, 存放到 count 中, 也就是描述一个 demo 资源需要的参数的个数第 56 行,phandle_end 指向该 entry 占用的内存空间的结尾从这里我们知道了, 调用依次 of_phandle_iterator_next,it 的成员被赋值的情况如下 : cell name: "#demo cells" parent: demo user 的 device node list_end: "demos" 的属性值占用的内存空间的结尾 phandle_end: 当前 entry 的结尾地址 cur_count: 当前 entry 引用的 demo contoller 的 "#demo cells" 属性值 cur: 当前 entry 的首地址 在找到需要的 entry 后, 也就是 cur_index 跟 index 相等的时候, 会调用 int of_phandle_iterator_args 对 it 中的参数进行转存 of_phandle_iterator_args: 1. int of_phandle_iterator_args(struct of_phandle_iterator *it, 2. uint32_t *args, 3. int size) 4. { 5. int i, count; count = it >cur_count; if (WARN_ON(size < count)) 10. count = size; for (i = 0; i < count; i++) 13. args[i] = be32_to_cpup(it >cur++); return count; 16. } 第 13 行将当前 entry 中的需要传递给 demo controller 的参数存放到 args 中 第 14 行返回当前 entry 所引用的 demo controller 的 "#demo cells" 属性值

10 3 of_demo_find_controller 1. static struct of_demo *of_demo_find_controller(struct of_phandle_args *demo_ 2. { 3. struct of_demo *ofdemo; list_for_each_entry(ofdemo, &of_demo_list, of_demo_controllers) 6. if (ofdemo >of_node == demo_spec >np) 7. return ofdemo; pr_debug("%s: can't find demo controller %s\n", func, 10. demo_spec >np >full_name); return NULL; 13. } 这个函数很容易理解,demo_spec >np 存放的是找到的 entry 所引用的 demo controller 节点对应的 device_node, 然后遍历 of_demo_list, 找到之前注册的 demo controller 4 of_demo_simple_xlate 1. int of_demo_simple_xlate(struct of_phandle_args *demo_spec, 2. struct of_demo *ofdemo) 3. { 4. int count = demo_spec >args_count; 5. struct device *dev = ofdemo >of_demo_data; 6. int ret = 0; dev_dbg(dev, "%s enter, count: %d\n", func, count); 9. switch (count) 10. { 11. case 1: 12. pr_info("args[0]: %d\n", demo_spec >args[0]); 13. ret = demo_spec >args[0]; 14. break; 15. case 2: 16. pr_info("%d x %d =?\n", demo_spec >args[0], demo_spec >args[1]); 17. ret = demo_spec >args[0] * demo_spec >args[1]; 18. break; 19. case 3: 20. pr_info("%d + %d + %d =?\n", demo_spec >args[0], demo_spec >args[1] 21. ret = demo_spec >args[0] + demo_spec >args[1] + demo_spec >args[2]; 22. break; 23. default: 24. dev_err(dev, "args count %d is not supported.\n", count); 25. return EINVAL; 26. } return ret; 29. }

11 这个函数对从 entry 中解析到的参数进行处理 完

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

Open topic Bellman-Ford算法与负环

Open topic   Bellman-Ford算法与负环 Open topic Bellman-Ford 2018 11 5 171860508@smail.nju.edu.cn 1/15 Contents 1. G s BF 2. BF 3. BF 2/15 BF G Bellman-Ford false 3/15 BF G Bellman-Ford false G c = v 0, v 1,..., v k (v 0 = v k ) k w(v i 1,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

ebook14-4

ebook14-4 4 TINY LL(1) First F o l l o w t o p - d o w n 3 3. 3 backtracking parser predictive parser recursive-descent parsing L L ( 1 ) LL(1) parsing L L ( 1 ) L L ( 1 ) 1 L 2 L 1 L L ( k ) k L L ( 1 ) F i r s

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

Microsoft PowerPoint - Lecture7II.ppt

Microsoft PowerPoint - Lecture7II.ppt Lecture 8II SUDOKU PUZZLE SUDOKU New Play Check 軟體實作與計算實驗 1 4x4 Sudoku row column 3 2 } 4 } block 1 4 軟體實作與計算實驗 2 Sudoku Puzzle Numbers in the puzzle belong {1,2,3,4} Constraints Each column must contain

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

nb.PDF

nb.PDF 2 3 4 5 6 51,482.10 7 8 2000 8 8697.843 2002 12 6 2 PROP 2000 10 210860 2003 1 ( ) PROP PROP (2) 1948 1983 ( ) 26, 90 9 10 11 12 13 14 (1) 2002 12 31 2001 12 31 % 312,520,919.29 70,150,996.67 345.50 79.875.142.53

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

第11章 可调内核参数

第11章 可调内核参数 11 11 Unix BSD 4.4 Linux sysctl Unix Linux /proc window /proc /proc/sys /proc/sys sysctl Unix root /proc/sys/vm root /proc/sys sysctl /proc/sys struct ctl_table 18274 struct ctl_tables /proc/sys struct

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

概述

概述 OPC Version 1.8 build 0925 KOCRDK Knight OPC Client Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOC_Init...5 2.2.2 KOC_Uninit...5 2.3...5

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

python内存管理

python内存管理 Python 级内存管理 - xiaorui.cc Object-specific allocators [ int ] [ dict ] [ list ]... [ string ] Python core +3 [ Python's object allocator ]

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

Lorem ipsum dolor sit amet, consectetuer adipiscing elit English for Study in Australia 留 学 澳 洲 英 语 讲 座 Lesson 3: Make yourself at home 第 三 课 : 宾 至 如 归 L1 Male: 各 位 朋 友 好, 欢 迎 您 收 听 留 学 澳 洲 英 语 讲 座 节 目, 我 是 澳 大 利 亚 澳 洲 广 播 电 台 的 节 目 主 持 人 陈 昊 L1 Female: 各 位

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

Fuzzy Highlight.ppt

Fuzzy Highlight.ppt Fuzzy Highlight high light Openfind O(kn) n k O(nm) m Knuth O(n) m Knuth Unix grep regular expression exact match Yahoo agrep fuzzy match Gais agrep Openfind gais exact match fuzzy match fuzzy match O(kn)

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

K301Q-D VRT中英文说明书141009

K301Q-D VRT中英文说明书141009 THE INSTALLING INSTRUCTION FOR CONCEALED TANK Important instuction:.. Please confirm the structure and shape before installing the toilet bowl. Meanwhile measure the exact size H between outfall and infall

More information

ebook15-C

ebook15-C C 1 1.1 l s ( 1 ) - i i 4. 14 - d $ l s -ldi /etc/. /etc/.. - i i 3077 drwxr-sr-x 7 bin 2048 Aug 5 20:12 /etc/./ 2 drwxr-xr-x 13 root 512 Aug 5 20:11 /etc/../ $ls -ldi /. /..... i 2 2 drwxr-xr-x 13 root

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

在挑选合适的 SDK 的时候需要注意, 标准 windows 平台应用选择 FBX SDK VS2015,windows 应用商店和全平台通用的不用考虑 windows 全平台通用的应用是 windows10 新推出的功能, 可以打通 windows phone windows s

在挑选合适的 SDK 的时候需要注意, 标准 windows 平台应用选择 FBX SDK VS2015,windows 应用商店和全平台通用的不用考虑 windows 全平台通用的应用是 windows10 新推出的功能, 可以打通 windows phone windows s FBX SDK 安装配置 访问 FBX 网址 :http://www.autodesk.com/products/fbx/overview, 如下 : 点击 GET FBX SDK 进入 SDK 下载页面 ( 网址为 : http://usa.autodesk.com/adsk/servlet/pc/item?siteid=123112&id=25408427): 在挑选合适的 SDK 的时候需要注意,

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice 路 ESW 聯 USB Chapter 9 Applications For Windows Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice USB I/O USB / USB 3 料 2 1 3 路 USB / 列 料 料 料 LED

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

Microsoft Word - 11.doc

Microsoft Word - 11.doc 除 錯 技 巧 您 將 於 本 章 學 到 以 下 各 項 : 如 何 在 Visual C++ 2010 的 除 錯 工 具 控 制 下 執 行 程 式? 如 何 逐 步 地 執 行 程 式 的 敘 述? 如 何 監 看 或 改 變 程 式 中 的 變 數 值? 如 何 監 看 程 式 中 計 算 式 的 值? 何 謂 Call Stack? 何 謂 診 斷 器 (assertion)? 如 何

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

地 理 志 鏡 止 煞, 來 達 到 安 宅 的 效 果 4. 門 神 符 紙 : 於 門 板 繪 製 門 神, 作 為 宅 第 的 守 護, 民 宅 所 使 用 的 門 神 題 材, 多 為 天 官 賜 福 或 文 武 官 員 符 紙 是 以 畫 了 符 咒 的 紙 懸 掛 室 內, 或 加 框

地 理 志 鏡 止 煞, 來 達 到 安 宅 的 效 果 4. 門 神 符 紙 : 於 門 板 繪 製 門 神, 作 為 宅 第 的 守 護, 民 宅 所 使 用 的 門 神 題 材, 多 為 天 官 賜 福 或 文 武 官 員 符 紙 是 以 畫 了 符 咒 的 紙 懸 掛 室 內, 或 加 框 第 二 篇 - 人 文 地 理 ( 五 ) 民 宅 的 祈 福 辟 邪 物 臺 灣 早 期 移 民, 因 為 離 鄉 背 井, 對 於 新 環 境 的 陌 生, 以 及 生 存 的 不 容 易, 再 加 上 承 襲 閩 粵 地 區 的 習 慣, 所 以 住 屋 講 究 的 是 祈 福 辟 邪 除 了 建 屋 之 前 要 看 地 理 風 水, 在 建 屋 時 更 有 許 多 禁 忌 要 遵 守 另 外,

More information

联 合 早 报 文 章 新 加 坡 的 经 验 其 实 不 复 杂, 但 要 学 过 来 却 不 容 易 新 加 坡 是 个 既 没 有 天 然 资 源 又 没 有 经 济 腹 地 的 岛 国, 面 积 只 有 700 平 方 公 里 这 个 小 岛 能 够 在 短 短 几 十 年 时 间 内 变

联 合 早 报 文 章 新 加 坡 的 经 验 其 实 不 复 杂, 但 要 学 过 来 却 不 容 易 新 加 坡 是 个 既 没 有 天 然 资 源 又 没 有 经 济 腹 地 的 岛 国, 面 积 只 有 700 平 方 公 里 这 个 小 岛 能 够 在 短 短 几 十 年 时 间 内 变 讲 师 聚 焦 陈 抗 : 新 加 坡 的 经 验 其 实 不 复 杂, 但 要 学 过 来 却 不 容 易 陈 抗 教 授 陈 抗 教 授 自 厦 门 大 学 毕 业 后 留 学 美 国, 获 得 俄 亥 俄 大 学 硕 士 学 位 和 马 里 兰 大 学 博 士 学 位 曾 经 任 职 于 世 界 银 行 以 及 新 加 坡 国 立 大 学 和 南 洋 理 工 大 学 ; 目 前 是 新 加 坡

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl SKLOIS (Pseudo) Preimage Attack on Reduced-Round Grøstl Hash Function and Others Shuang Wu, Dengguo Feng, Wenling Wu, Jian Guo, Le Dong, Jian Zou March 20, 2012 Institute. of Software, Chinese Academy

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : ICDL-Excel Title : The ICDL L4 excel exam Version : DEMO 1 / 11 1. Which one of the following formulas would be appropriate to calculate the

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

(baking powder) 1 ( ) ( ) 1 10g g (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal D

(baking powder) 1 ( ) ( ) 1 10g g (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal D ( ) 4 1 1 1 145 1 110 1 (baking powder) 1 ( ) ( ) 1 10g 1 1 2.5g 1 1 1 1 60 10 (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal Design 1. 60 120 2. 3. 40 10

More information

Guide to Install SATA Hard Disks

Guide to Install SATA Hard Disks SATA RAID 1. SATA. 2 1.1 SATA. 2 1.2 SATA 2 2. RAID (RAID 0 / RAID 1 / JBOD).. 4 2.1 RAID. 4 2.2 RAID 5 2.3 RAID 0 6 2.4 RAID 1.. 10 2.5 JBOD.. 16 3. Windows 2000 / Windows XP 20 1. SATA 1.1 SATA Serial

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

用户大会 论文集2.2.doc

用户大会 论文集2.2.doc MagGis MapGis GIS MagGis API DLL MapGis VC++ VB BC++ Delphi., Windows API MapGis VC++V Delphi Delphi Delphi MapGis Delphi Delphi Windows Delphi Delphi MapGis MapGis DLL API MapGis function _InitWorkArea(HINST:Integer):Integer;

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS C H P T E R 7 Windows Vista Windows Vista Windows VistaFT16 FT32NTFS NTFSNew Technology File System NTFS 247 6 7-1 Windows VistaTransactional NTFS TxFTxF Windows Vista MicrosoftTxF CIDatomicity - Consistency

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

(Microsoft Word - \251I\250D\245D\246W

(Microsoft Word - \251I\250D\245D\246W 第 一 週 週 一 呼 求 主 名 ( 一 ) 哀 三 55 耶 和 華 阿, 我 從 極 深 的 坑 裏 呼 求 你 的 名 56 你 曾 聽 見 我 的 聲 音 ; 求 你 不 要 掩 耳 不 聽 我 的 呼 吸, 我 的 呼 籲 賽 十 二 4 上 在 那 日, 你 們 要 說, 當 稱 謝 耶 和 華, 呼 求 祂 的 名! 6 錫 安 的 居 民 哪, 當 揚 聲 歡 呼, 因 為 以 色

More information

MATLAB 1

MATLAB 1 MATLAB 1 MATLAB 2 MATLAB PCI-1711 / PCI-1712 MATLAB PCI-1711 / PCI-1712 MATLAB The Mathworks......1 1...........2 2.......3 3................4 4. DAQ...............5 4.1. DAQ......5 4.2. DAQ......6 5.

More information

ebook71-13

ebook71-13 13 I S P Internet 13. 2. 1 k p p p P P P 13. 2. 2 1 3. 2. 3 k p p p 1 3. 2. 4 l i n u x c o n f P P P 13. 2. 5 p p p s e t u p 13. 2. 6 p p p s e t u p P P P 13. 2. 7 1 3. 2. 8 C a l d e r a G U I 13.

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM Oracle Solaris Studio 12.2 DLight 2010 9 2 2 3 DLight 3 3 6 13 CPU 16 18 21 I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AMP Apache MySQL

More information

untitled

untitled Fortran Chapter 7 Subroutine ( ) and Function 7-1 subroution 行 不 行 來 行 The general form of a subroutine is subroutine subroutine_name ( argument_list) (Declaration section) (Execution section) retrun end

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

UTI (Urinary Tract Infection) - Traditional Chinese

UTI (Urinary Tract Infection) - Traditional Chinese UTI (Urinary Tract Infection) Urinary tract infection, also called UTI, is an infection of the bladder or kidneys. Urethra Kidney Ureters Bladder Vagina Kidney Ureters Bladder Urethra Penis Causes UTI

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

ebook39-6

ebook39-6 6 first-in-first-out, FIFO L i n e a r L i s t 3-1 C h a i n 3-8 5. 5. 3 F I F O L I F O 5. 5. 6 5. 5. 6.1 [ ] q u e n e ( r e a r ) ( f r o n t 6-1a A 6-1b 6-1b D C D 6-1c a) b) c) 6-1 F I F O L I F ADT

More information

untitled

untitled Co-integration and VECM Yi-Nung Yang CYCU, Taiwan May, 2012 不 列 1 Learning objectives Integrated variables Co-integration Vector Error correction model (VECM) Engle-Granger 2-step co-integration test Johansen

More information