读书时间 2010-05-24 C/C++

系统动力学仿真软件Vensim下载 Vensim是由美国Ventana Systems, Inc.所开发,是采用图示化编程的方式构建系统动力学模型,上手简单。Vensim有很多系列产品,其中Vensim PLE (Personal Learning Edition)是面向个人学习者的,完全免费,可直接官网下载,截止于2022/04/10,最新的Vensim PLE版本是9.2.3。 阅读详情

《Linux高级程序设计》2nd version,杨宗德

 

1. 杂问

Q:我们的系统如何保持其OS可移植性的?使用ANSI库吗?

 

2. extern

好像只有变量需要extern声明,function不需要,如下例:

 

[root@frank extern]# cat file.c
#include <stdio.h>
int i=0;
void test() {
        printf("in function: i=%d/n", i);
}

[root@frank extern]# cat test.c
#include <stdio.h>
//extern i;
int main() {
//      printf("in main, i=%d/n", i);
        test();
        return 0;
}

T:Got it ! 函数的默认storage type为extern,所以无需显式声明。

 

3. valgrind,内存调试工具

 

[root@frank valgrind]# cat sample.c
#include <stdio.h>

int main() {
        int i[5];
        if (i[0] == 0) {
                i[1]=1;
        }
        return 0;
}

 

[root@frank valgrind]# valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./sample
==3545== Memcheck, a memory error detector.
==3545== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==3545== Using LibVEX rev 1658, a library for dynamic binary translation.
==3545== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==3545== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==3545== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==3545== For more details, rerun with: -v
==3545==
==3545== Conditional jump or move depends on uninitialised value(s)
==3545==    at 0x804836A: main (in /study/books/alp2/valgrind/sample)
==3545==
==3545== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 13 from 1)
==3545== malloc/free: in use at exit: 0 bytes in 0 blocks.
==3545== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==3545== For counts of detected errors, rerun with: -v
==3545== All heap blocks were freed -- no leaks are possible.

 

4. 文件访问

缓冲文件访问会有用户态与内核态的切换,频繁使用对程序性能影响较大! Q:How ??? 2011/12/19

文件流指针FILE与文件描述符fd区别巨大,一个是库,一个是系统调用,对应于用户态及内核态的不同!

POSIX标准文件IO管理,open,close,read,write

 

5. 进程

Q:孤儿进程与僵尸进程? 2011/12/19

 

 

英飞凌 TC4X MCAL之SPI中断与DMA高效传输实战 本文详细介绍了英飞凌TC4X芯片的SPI通信实战,重点讲解如何通过MCAL配置SPI中断与DMA实现高效数据传输。针对汽车电子领域的高吞吐需求,提供了从基础配置到中断处理、DMA优化的完整解决方案,包含代码示例和调试技巧,帮助开发者提升系统性能与CPU利用率。 阅读详情

相关推荐

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析了Facebook登录协议的逆向工程实战,详细拆解了从关键加密参数(如`lgndim`、`encpass`)定位到完整登录流程的实现。文章提供了Python代码示例,重点阐述了加密逻辑的深度解析、加密函数的本地化实现,并解决了Crypto.js异步调用等常见问题,为研究Web安全和协议逆向的开发者提供了实用参考。

metal的博客 1310

读书时间 C++ Standard Lib 2012/05/19

Chap 3. General Concepts   * std standard lib中所有id都在std namespace中 而C/C++ *.h中的id在global scope中   * new head file Q:C++ standard lib头文件都没有后缀?   Chap5 STL *组成 STL = container + iterator +

printf1998的专栏 1265

自组织映射神经网络(SOM)

目录 1 背景:自组织(竞争型)神经网络 2竞争学习的概念与原理 2.1 竞争学习的步骤 2.2 示例 3SOM典型结构 4SOM网的权值调整域 5 SOM Kohonen 学习算法 6 SOM示例 7SOM设计细节 7.1输出层设计 7.2输出层节点排列的设计 7.3 权值初始化问题 7.4学习率的设计 7.5设计拓扑领域 8SOM功能分析 8.1 保序映射 8.2数据压缩 8.3 特征提取 9自组织映射神经网络与K均值算法的区别...

weixin_39910711的博客 1万+

杂记 2011/06/17 -1 Make

《Linux环境下C语言编程》V2 Chap13 使用Make   0. 杂问杂记 command必须以TAB开始! 依赖的东东既是目标也是文件?是否会有某种问题? 一篇GNU Make的完整手册:http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html     1. Makefile主

printf1998的专栏 594

手把手教你学Simulink——基于Simulink的前馈解耦SVPWM整流器仿真

本文详细介绍了基于Simulink的前馈解耦SVPWM整流器仿真方法。针对三相PWM整流器存在的dq轴交叉耦合问题,提出前馈解耦控制方案,通过在电流环中引入耦合电压补偿项,显著提升系统性能。文章包含完整的系统架构、核心算法、Simulink建模步骤及参数设置,仿真结果显示:电流跟踪误差<2%、动态响应时间<0.05s、THD<3%、功率因数>0.999。同时提供了可直接复用的MATLAB代码和工程优化建议,为电力电子工程师实现高精度AC/DC转换提供了实用解决方案。

MHD0815的博客 108

openCv +3.4.0 车牌定位(C++版本)

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc.hpp> #include "opencv2/shape.hpp" using namespace ...

Bamboo265925的博客 2337

读书时间 05/28/2011 Linux编程技术详解

《Linux编程技术详解》杜华   1. 杂问 Q:GC/InfoServer在Win平台下似乎有很多日志在console输出,是否会成为潜在性能瓶颈? 2011/12/19   2.文件系统   * FHS and VFS FHS:File Hirachy System VFS:Virtual File System   * inode结构 分层指针结构:小于

printf1998的专栏 513

YOLOv11损失函数进阶:融合SmoothL1与FocalLoss,让检测精度再涨10%的实战教程

在YOLOv11的这里的beta参数控制“L1与L2的过渡阈值”,默认设为1.0即可兼容多数场景。同样在# 计算动态alpha(基于类别样本数,需提前统计self.class_counts)# 交叉熵基础# FocalLoss权重else:使用前需统计数据集的(每个类别的样本数),并传入的alpha参数。损失函数是YOLOv11精度的“灵魂”——SmoothL1让边界框回归“稳、准、狠”,改进FocalLoss让类别分类“雨露均沾”。从代码改造到实战落地,本教程已为你搭建了一条精度跃升的路径。

m0_64661770的博客 213

UC故事2011/12/16 build linux servers

在Redhat上编译InfoServer 1. 安装mysql # rmp -ivh  mysql-5.0.45-7.el5.i386.rpm [root@localhost software-repository]# rpm -ivh mysql-5.0.45-7.el5.i386.rpm warning: mysql-5.0.45-7.el5.i386.rpm: Hea

printf1998的专栏 435

YOLOv8改进 | 主干篇 | 利用MobileNetV2替换Backbone(轻量化网络结构)

本文给大家带来的改进机制是,其是专为移动和嵌入式视觉应用设计的轻量化网络结构。这些模型基于简化的架构,并利用深度可分离卷积构建轻量级深度神经网络,其引入了两个简单的全局超参数,用于在延迟和准确性之间进行有效的权衡。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性,这个模型非常适合轻量化的读者来使用。适用检测目标:轻量化网络结构适合轻量化的读者⭐⭐⭐⭐。

Snu77的博客 5684

21天教你学会PCIe专栏(14)--安全性考虑

1.1 定义安全性(Security):安全性是指保护系统免受未经授权的访问、攻击和破坏,确保数据的机密性、完整性和可用性。1.2 重要性数据保护:保护敏感数据,防止数据泄露和篡改。系统防护:防止恶意攻击,确保系统的稳定性和可靠性。合规性:满足行业标准和法律法规的要求,避免法律风险。用户信任:提高用户对系统的信任度,增强市场竞争力。通过今天的学习,你应该对PCIe安全性的重要性和常见威胁有了深入的了解,掌握了实施安全措施的方法和工具,以及安全开发的最佳实践。

xiaoheshang_123的博客 850

读书时间 2011-05-23 Linux/C/++

《Linux高级程序设计》2nd version,杨宗德   1. 杂问 * http://www.maigoo.com/maigoo/134qb_index.html * 写一个Chat的例子(Tica) * server-side目前使用的主要工具及版本:内核?GCC/GDB? * 目前用到的所有server-side开发需要的工具、环境、流程与步骤等等? * 调试与跟踪相关的机

printf1998的专栏 433

机器学习之多种算法优缺点总结及优化方法

一、无监督算法: 1、聚类算法:Kmeans 2、关联规则算法:Apriori 二、有监督算法 1、分类算法 决策树(Decision Tree) 支持向量机(SVM) K近邻(kNN,k-NearestNeighbor) 朴素贝叶斯 逻辑回归 2、回归算法 线性回归 多项式回归 3、集成算法 a、bagging(Bootstrapped Aggregation) 随机森林 ...

平原的博客 7081

读书时间 05/25/2011 Linux C/C++ 孤儿进程

《Linux高级程序设计》2nd version,杨宗德 1. 杂问   2. 孤儿进程 [root@frank orphan]# cat orphan.c #include #include #include int main() {         pid_t pid;         if ((pid=fork())==-1) {

printf1998的专栏 419

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C++杂记 2011/12/13

1. GCC参数 参见http://www.cnblogs.com/xmphoenix/archive/2011/03/21/1989944.html * 几个有用的选项 -Wall:Warning开关打开,打开N多warning信息 -O0, -O1, -O2, -O3:多种优化级别 -g:调试信息,等同说-ggdb,专门为gdb参生调试信息用。 * 对于几个阶段

printf1998的专栏 396

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C++杂记 2011/12/12

## Linux环境下的C/C++编程要点 ## 1. hello.cpp [root@localhost study20111212]# cat hello.cpp #include              // 与iostream.h有区别的 //#include using namespace std;          // 若无此语句,则找不到cout定义

printf1998的专栏 375

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C++杂记/读书 2011/12/19

## 《Linux C编程》华清远见 1. 文件操作 * sync(), fsync() sync()只是将所有修改过的block的buffer排入write queue,并不实际执行I/O操作;             // Q:who/when执行? 系统进程update会每隔一定时间间隔(30秒)调用一次sync(),以确保buffer定期refresh。

printf1998的专栏 373

读书时间 05/29/2011

《Linux环境下C编程V2》杨树青   1. gcc -pipe有何用? -Wall:提供N多警告信息   2. gdb Q:core dump的分析,似乎比较有用   3. 进程组 leader进程:进程组号=进程号 setgpid(pid_t pid, pid_t pgid);  // 当两号相等时即创建新进程组   4. 共享内存 int shmget(key_

printf1998的专栏 361

读书时间 05/28/2011 -2

《Linux编程技术详解》 杜华 -- 续   1. 带日志的Daemon   int main(int argc, char **argv) {         int i=0;         daemon(0,0);         openlog(argv[0], LOG_CONS | LOG_PID, LOG_USER);         for(i=0;i

printf1998的专栏 343

读书时间 2011/12/27 Linux-C & iPhone/iPad

《Linux C》华清   Chap 4. gcc与gdb * -l选项:指定库文件 -libXXX实际指定libXXX.so或libXXX.a文件,以libXXX.so为优先(共享库/动态库)   * -pipe 指明使用"pipe"而非"文件"来用于在GCC运行时使用的不同程序之间传递信息,大项目编译的时候很重要,能提高编译过程效率。   Q:如何使用gdb调试Java应用

printf1998的专栏 315

读书时间 2011/12/28

《Linux C Programming》华清 Chap 5, Make * 参数 -n:模拟执行(或者make --just-print) -s:执行,但不显示命令(silent? YES!,相当于make --silent) -v:版本 -p:显示所有var及内部rule * make文件主要内容 显式规则 隐式规则:推导 变量定义 文件指示

printf1998的专栏 287

读书时间 05/29/2011 - 2

《Linux环境下C编程指南V2》杨树青   注:本书对于gcc/gdb/make等开发工具讲得比较详细。   0. 杂问 Q:wait()返回第一个已返回的子进程status,其它如何处理? Q:当父进程没有捕获子进程信号,导致其它子进程阻塞,这些子进程就成为zombie进程???   1. TCP三次握手过程   * Server:调用listen(),并调用accept(

printf1998的专栏 270

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 334

Linux-iostat命令详解

Linux命令学习记录

m0xin的博客 101

Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位

iptables 四表五链模型、firewalld zone 信任级别、云安全组与主机防火墙的关系与优先级,避坑改了防火墙把自己挡在服务器外面的翻车事故。

2502_91473995的博客 297

【Linux】APT 本地 deb 安装与 `-f` 参数总结笔记

apt install ./xx.deb 可自动解析并安装依赖,无需 -f;-f 仅用于修复已损坏的依赖状态,非首次安装时必需。apt install -f 可单独运行,修复 broken dependencies。两者职责不同:前者是安装与依赖解决,后者是故障修复。完全离线时需提前准备依赖包或本地源。

hknaruto的专栏 210
上一篇: 读书时间 2011-05-23 Linux/C/++
下一篇: 读书时间 05/25/2011 Linux C/C++ 孤儿进程
printf1998
博客等级 码龄16年 14粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值