资源。#include <>线程 -lpthread
#include
#include <>
#include
#include <>
#include <>
#include
#include <>
#include
#include
#include
#include <>
#include
2024年9月16日。
/c+复习。
2024年9月17日上午。
、静态库文件与动态库文件。
2、vm使用与windows相连。
a、linux设置网卡 vi /etc/sysconfig/network-scripts/ifcfg-eth0,修改ip地址。
b、设置虚拟网卡ip与linux中的ip在同一网段。
c、在vm中设置以太网卡为虚拟网卡连接vm机。
d、service network restart / service iptables stop / smbpasswd 改smb服务密码。
就可以在windows中通过 ip 访问linux服务器了。
e、改成在windows中可写linux中的文件 vi /etc/samba/ 改[root]
下的writeable = yes 。添加path = 则可以在windows中看到linux中的所有目录了。linux中的/,在windows中即反映为root目录下面再有root,home,etc等等。
注】若把虚拟机也设在与主机在同一网段上(如win192.168.0.
70;linux192.168.0.
211)则虚拟机的网卡设置时,直接设置成[网络连接:桥接,直接连接到物理网络]。
2024年9月17日下午。
markfile
#include <>
int func()
puts("func(),haha!")return 0;}
#include <>
int func();
int main()
func();return 0;}
#makefile
objspatsubst %.c,%.o,$(wildcard *.c)) #定义变量。
ccgcc定义变量。
cflags :=o2定义变量。
$(objs调用变量。
$(cc) $o
#%.o:%.c
# $(cc) $cflags) -c $ clean定义一个执行体。 $(rm) *o *.out -rf test:@echo "source file list:$(patsubst %.c,%.o,$(wildcard *.c))" phony : clean test 2024年9月18日上午。 讲课内容:makefile makefile中的变量与函数。 作业:#include <> int main() puts(""return 0;} #include <> int main() puts(""return 0;} #include <> int main() puts(""return 0;} 写makefile 一次性编译链接三个可执行文件。 #makefile内容如下: outs :=patsubst %.c,%.out,$(wildcard *.c)) ccgccall:$(outs) .out:%.c $(cc) $o $@g –wall -lpthread clean: $(rm) *o *.out -rf phony : clean 2024年9月18日下午。 gdb调试工具。 g++编译时,带-g –wall (表示输出所有的警告warning + all信息。) gdb 或gdb 然后用file list命令:显示源程序,eg:l 1, 从第一行开始, 显示10行。 l 1,20 从第一行开始,显示20行。 l 显示main函数。 ptype cmyvector 看变量的类型。 bt 显示执行到**了,还可以显示函数的调用关系。显示的这一行表示马上要执行的行。 p m_size 打印m_size的值。 p /x m_size 表示以16进制显示。 next/step(进入函数内部):单步调试。 finish 完成当前的函数。即跳出已经进入的函数,回到调入点。 break(b) 72 即在72行设置断点。删除断点 d 72 ; d 则是删除所有断点 linux y/n时,默认为n,输入y才表示确定。在某函数处设断点 b main。 查看断点信息 info b continue 让程序执行到下一个断点。 退出gdb quit(q) 作业,gdb调试以下程序。 #include using namespace std; 填充该类,以便main()中的调用能正常。 工作,注意,不要修改main()中的任何语句。 class cmyvector public: cmyvector() ~cmyvector() cmyvector(const cmyvector &src) void push_back(int data) int size() int operator(int iindex) cmyvector &operator=(const cmyvector &src) private: int *m_pdata; int m_isize; int main() cmyvector v; for(int i=0; i< i++) cout< cout< /上面语句应该输出"2 6 4 5 " cmyvector v2=v; for(i=0; i< i++) cout< cout< /上面语句应该输出"2 6 4 5 6 " cmyvector v3; //i的变量要提出在这里写以兼容linux与windows. //int i = 0; v3=v2; for(i=0; i< i++)linux中,此i已经name lookup of "i" changed for new iso 'for' /scoping using obsolete binding at 'i' /??可以把for 看成一个小函数,另行开stock,i在{}还存在,但是在for ()里不存在了。 cout< cout< /上面语句应该输出"2 6 4 5 6 0 " return 0; 不清楚则把每个变量还原。 2024年9月20日上午。 内容,linux下文件读取方法。 open,write close 与c标准库的fopen,fwrite,fclose区别: 1\write不用关闭即写入到文件,没有缓冲区,比较低级的操作方式。fwrite有缓冲区,所以fwrite更高效。不用总是写硬盘。所以以后要选用fwrite方式。 2\fwrite移植性好。 3\若在同一进程中,用两种方式打开不同文件(或先关闭再打开另一个),所用的文件打开表是同一个,但是在文件打开表中的文件描述符是不同的。 重要函数 fileno(fp) /得到文件指针所指向的文件打开表文件描述符。 fdopen(fd,”wb”) c标准库函数,通过文件打开表的文件描述符得到文件指针。 #include <> #include #include <> #include #include #include <> 进程是一个具有一定独立功能的程序的一次运行活动。一组并发进程按一定的顺序执行的过程称为进程间的同步。include include pid t getpid void 获取本进程id。pid t getppid void 获取父进程id。include pid t fork void 功能 创建子进... linux高级编程day04 笔记 posted on 2012 12 31 15 30 鑫龙阅读 207 评论 0 编辑收藏引用所属分类 杨强linux 笔记系列 一。io与文件映射。的共享与效率。read与write其中数据缓冲的大小。读取数据的缓冲大小 getpagesize。2.定位与定位读... 1 linux系统的结构。2 linux分区的创建 分区类型 分区参数 3 交换分区 swap 的作用。习题 15 4 linux终端的数量及工作方式 linux虚拟控制台的选择方法。5 什么是shell?shell的作用是什么?6 shell提示符 用户登录名 主机名当前目录 或者 7 输入输出重...linux系统编程笔记
linux高级编程day
《LINUX系统及其编程》复习