Sponsored Content
Top Forums Programming Will exe file size decrease while using inline function Post 82380 by jim mcnamara on Wednesday 31st of August 2005 10:45:33 AM
Old 08-31-2005
You cannot predict the size of an executable. Inlining often results in LARGER code blocks, not smaller. Note the word "often". Compilers do fun things when they optimize.

Compilers are not duty-bound to optimize just because you think they should.
If you use complex, tricky code compilers will often decide not to optimize.
HPUX C compilers do this - they back down optimization levels when presented with really convoluted code.

The only way I could imagine the size decreasing is because you invoke the inline function call in just one place in your code, or that some other optimization was turned off/on because of the inline function.
 

10 More Discussions You Might Find Interesting

1. Programming

how To edit exe to insert a serial no wich can be usd by runing exe

At time of installation I have to open the resource. and i have to insert a string serial number in the exe. please provide me code to edit the exe (in solaris) to insert a serial number which can be used by exe at run time. (6 Replies)
Discussion started by: ssahu
6 Replies

2. Programming

Inline function inside Classes

#include <iostream> using namespace std; class A { public: int Getvalue() { return i;} private: int i; }; int main() {} The above code compiles properly in g++ or in any other C++ compiler. BUT, the variable 'i' is used (in 'return i' statement) before it is... (1 Reply)
Discussion started by: deepthi.s
1 Replies

3. Shell Programming and Scripting

How to decrease the font size in Mailx

Hi all, I am using echo "$EMAILMESSAGE" | mailx -s "$SUBJECT" -b $CC "$TO" I am receiving the mail but seems to big in font size. Is there any option mailx to decrease the size of the mail generated. Thanks, (1 Reply)
Discussion started by: shellscripter
1 Replies

4. Programming

Function pointer to inline function ?

Hi. Problem: I have to parse the payload of a packet. The payload could be in Big Endian Format (network byte order) or little. That depends on a flag present in the header of the packet. Solution: A horrible solution could be to check for that flag everytime I have to read a field in the... (11 Replies)
Discussion started by: emitrax
11 Replies

5. Shell Programming and Scripting

decrease number by 1 in text file

i have text file which contains number like 234565 i need a shell script or command which decrease number by 1 in text file. pls (2 Replies)
Discussion started by: reyazan
2 Replies

6. AIX

Why using "%" of Paging size increases & how to decrease this percentage?

Hi I have found a problem on my AIX 5.1 server. day by day the paging size is increasing,what is the reason behind it and if percentage is at 100 what will happen. Oracle 9i is running on my server. PAGING SPACE size,mb 5632 % used 14.6 % free 85.3 How can i decrease the using... (6 Replies)
Discussion started by: dearsumon
6 Replies

7. UNIX for Dummies Questions & Answers

Decrease buffer size

Hi, I am using the below command to get the output in a file called "Logs.txt" tail -f filename | egrep -i "cpu | hung " >> Logs.txt The problem is the Logs.txt file gets updated only after the buffer is 8Kb, but i want to update the file immediately and not wait for the buffer to get 8kb. Is... (8 Replies)
Discussion started by: @bhi
8 Replies

8. Programming

Perl : Inline program to determine file size

Hi, I have 5 files as below $ ll sam* -rw-rw-rw- 1 sam ugroup 0 Mar 21 06:06 sam3 -rw-rw-rw- 1 sam ugroup 0 Apr 3 22:41 sam2 -rw-rw-rw- 1 sam ugroup 17335 Apr 10 06:07 sam1 -rw-rw-rw- 1 sam ugroup 5 Apr 10 07:53 sam5 -rw-rw-rw- 1 sam ugroup 661 Apr 10 08:16 sam4 I want to list out... (4 Replies)
Discussion started by: sam05121988
4 Replies

9. Programming

How to decrease virtual size of a process after cleaning all containers and using malloc_trim (0)?

Hello all i have simple server running on linux redhat 6.1 it is build with c++ in the server i have huge std vector that holds pointers to cache objects those cache objects holds allot of data from the DB any way ... in some point in time there is simple API that suppose to clean the... (2 Replies)
Discussion started by: umen
2 Replies

10. AIX

[ASK] decrease/shrink the size of filesystem

Hello, I would like to reduce the size of filesystem online. We can do online for increase without any problem. So any risk can be occurred with the decrease? This is not an issue, just a discussion for decrease/shrink space with chfs command. My AIX system is version 6.1 and the filesystem... (2 Replies)
Discussion started by: Phat
2 Replies
point(2rheolef) 						    rheolef-6.1 						   point(2rheolef)

NAME
point - vertex of a mesh DESCRIPTION
Defines geometrical vertex as an array of coordinates. This array is also used as a vector of the three dimensional physical space. IMPLEMENTATION
template <class T> class point_basic { public: // typedefs: typedef size_t size_type; typedef T float_type; // allocators: explicit point_basic () { _x[0] = T(); _x[1] = T(); _x[2] = T(); } explicit point_basic ( const T& x0, const T& x1 = 0, const T& x2 = 0) { _x[0] = x0; _x[1] = x1; _x[2] = x2; } template <class T1> point_basic<T>(const point_basic<T1>& p) { _x[0] = p._x[0]; _x[1] = p._x[1]; _x[2] = p._x[2]; } template <class T1> point_basic<T>& operator = (const point_basic<T1>& p) { _x[0] = p._x[0]; _x[1] = p._x[1]; _x[2] = p._x[2]; return *this; } // accessors: T& operator[](int i_coord) { return _x[i_coord%3]; } const T& operator[](int i_coord) const { return _x[i_coord%3]; } T& operator()(int i_coord) { return _x[i_coord%3]; } const T& operator()(int i_coord) const { return _x[i_coord%3]; } // interface for CGAL library inter-operability: const T& x() const { return _x[0]; } const T& y() const { return _x[1]; } const T& z() const { return _x[2]; } T& x(){ return _x[0]; } T& y(){ return _x[1]; } T& z(){ return _x[2]; } // inputs/outputs: std::istream& get (std::istream& s, int d = 3) { switch (d) { case 0 : _x[0] = _x[1] = _x[2] = 0; return s; case 1 : _x[1] = _x[2] = 0; return s >> _x[0]; case 2 : _x[2] = 0; return s >> _x[0] >> _x[1]; default: return s >> _x[0] >> _x[1] >> _x[2]; } } // output std::ostream& put (std::ostream& s, int d = 3) const; // algebra: bool operator== (const point_basic<T>& v) const { return _x[0] == v[0] && _x[1] == v[1] && _x[2] == v[2]; } bool operator!= (const point_basic<T>& v) const { return !operator==(v); } point_basic<T>& operator+= (const point_basic<T>& v) { _x[0] += v[0]; _x[1] += v[1]; _x[2] += v[2]; return *this; } point_basic<T>& operator-= (const point_basic<T>& v) { _x[0] -= v[0]; _x[1] -= v[1]; _x[2] -= v[2]; return *this; } point_basic<T>& operator*= (const T& a) { _x[0] *= a; _x[1] *= a; _x[2] *= a; return *this; } point_basic<T>& operator/= (const T& a) { _x[0] /= a; _x[1] /= a; _x[2] /= a; return *this; } point_basic<T> operator+ (const point_basic<T>& v) const { return point_basic<T> (_x[0]+v[0], _x[1]+v[1], _x[2]+v[2]); } point_basic<T> operator- () const { return point_basic<T> (-_x[0], -_x[1], -_x[2]); } point_basic<T> operator- (const point_basic<T>& v) const { return point_basic<T> (_x[0]-v[0], _x[1]-v[1], _x[2]-v[2]); } point_basic<T> operator* (T a) const { return point_basic<T> (a*_x[0], a*_x[1], a*_x[2]); } point_basic<T> operator* (int a) const { return operator* (a); } point_basic<T> operator/ (const T& a) const { return operator* (T(1)/T(a)); } point_basic<T> operator/ (point_basic<T> v) const { return point_basic<T> (_x[0]/v[0], _x[1]/v[1], _x[2]/v[2]); } // data: // protected: T _x[3]; // internal: static T _my_abs(const T& x) { return (x > T(0)) ? x : -x; } }; typedef point_basic<Float> point; // algebra: template<class T> inline point_basic<T> operator* (int a, const point_basic<T>& u) { return u.operator* (a); } template<class T> inline point_basic<T> operator* (const T& a, const point_basic<T>& u) { return u.operator* (a); } template<class T> inline point_basic<T> vect (const point_basic<T>& v, const point_basic<T>& w) { return point_basic<T> ( v[1]*w[2]-v[2]*w[1], v[2]*w[0]-v[0]*w[2], v[0]*w[1]-v[1]*w[0]); } // metrics: template<class T> inline T dot (const point_basic<T>& x, const point_basic<T>& y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]; } template<class T> inline T norm2 (const point_basic<T>& x) { return dot(x,x); } template<class T> inline T norm (const point_basic<T>& x) { return sqrt(norm2(x)); } template<class T> inline T dist2 (const point_basic<T>& x, const point_basic<T>& y) { return norm2(x-y); } template<class T> inline T dist (const point_basic<T>& x, const point_basic<T>& y) { return norm(x-y); } template<class T> inline T dist_infty (const point_basic<T>& x, const point_basic<T>& y) { return max(point_basic<T>::_my_abs(x[0]-y[0]), max(point_basic<T>::_my_abs(x[1]-y[1]), point_basic<T>::_my_abs(x[2]-y[2]))); } template <class T> T vect2d (const point_basic<T>& v, const point_basic<T>& w); template <class T> T mixt (const point_basic<T>& u, const point_basic<T>& v, const point_basic<T>& w); // robust(exact) floating point predicates: return the sign of the value as (0, > 0, < 0) // formally: orient2d(a,b,x) = vect2d(a-x,b-x) template <class T> int sign_orient2d ( const point_basic<T>& a, const point_basic<T>& b, const point_basic<T>& c); template <class T> int sign_orient3d ( const point_basic<T>& a, const point_basic<T>& b, const point_basic<T>& c, const point_basic<T>& d); // compute also the value: template <class T> T orient2d( const point_basic<T>& a, const point_basic<T>& b, const point_basic<T>& c); // formally: orient3d(a,b,c,x) = mixt3d(a-x,b-x,c-x) template <class T> T orient3d( const point_basic<T>& a, const point_basic<T>& b, const point_basic<T>& c, const point_basic<T>& d); template <class T> std::string ptos (const point_basic<T>& x, int d = 3); // ccomparators: lexicographic order template<class T, size_t d> bool lexicographically_less (const point_basic<T>& a, const point_basic<T>& b) { for (typename point_basic<T>::size_type i = 0; i < d; i++) { if (a[i] < b[i]) return true; if (a[i] > b[i]) return false; } return false; // equality } rheolef-6.1 rheolef-6.1 point(2rheolef)
All times are GMT -4. The time now is 06:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy